【问题标题】:css not working after writing .htaccess编写.htaccess后css不起作用
【发布时间】:2015-06-28 12:37:45
【问题描述】:

我试图使用 .htaccess 删除我的文件扩展名,它有效,但现在我的 CSS 和图像已停止工作。我尝试了不同的方法,但它仍然无法正常工作。请!我需要这方面的帮助。提前致谢。我所有的 php 文件都在同一个目录中,即根文件夹,我的 css 和图像文件夹在我的根文件夹中的不同文件夹中。这是我的代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*/.php$ %{REQUEST_FILENAME}.php [L]
RewriteRule ^(css|img) - [L]

【问题讨论】:

  • 如果我理解正确,您已经制定了一条规则,将所有 css 文件替换为 -
  • 我没有也无意用任何东西替换我的 CSS,我只想删除 PHP 扩展。在我这样做并且它工作之后,CSS停止工作。我对.htaccess 也不是很好。谢谢
  • 你能分享你的.htaccess的旧版本,并给出一些你的php文件和css文件的示例url吗?
  • 我用它来删除扩展.......RewriteEngine On RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule !.*/.php$ %{REQUEST_FILENAME}.php [L] ...... , 。提前致谢
  • 这与您已经发布的代码相同。你做了什么改变?

标签: php css apache .htaccess mod-rewrite


【解决方案1】:

要添加.php,你只需要这条规则:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+?)/?$ $1.php [L]

如果您的漂亮 URL 中有一个尾部斜杠,例如 http://example.org/file/,那么 css/js 相对路径将被解析为 /file/css/ 而不是 /css/,因此会导致 css/js 文件出现 404。

要解决这个问题,您可以在页面 HTML 的 <head> 部分添加:

<base href="/" />

这样每个相对 URL 都是从该基本 URL 而非当前页面的 URL 解析的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多