PHP Mod_Rewrite css / images不加载

时间:2014-02-03 09:10:01

标签: apache .htaccess mod-rewrite include

我遇到了mod_rewrite的一些问题。

我想将所有请求重定向到一个页面(app.php)。它工作正常:

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond $1!^(app\.php|assets|editor|css|js|scripts|images|img|media|xml|user_guide|robots\.txt|favicon\.ico)
  RewriteRule ^(.*)$ app.php/$1 [L,QSA]

</IfModule>

好的,当我想绑定一个css文件时,例如:

<link rel="stylesheet" type="text/css" href="../app/templates/style.css">

Chrome浏览器“firebug”向我展示

style.css  /app/templates GET 200 OK

但是css不包括在内。 我谷歌几个小时,没有找到任何东西。即使在stackoverflow上我尝试了一些解决方案。 希望您能够帮助我。

1 个答案:

答案 0 :(得分:1)

由于您使用了css / js / images的相对URL,因此出现了问题。

您有2个选项可以解决它:

  1. 只需在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://或斜杠/开头。

  2. 您可以尝试在页面标题中添加:

  3. <强>更新

      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond $1 !^(app\.php|assets|editor|css|js|scripts|templates|images|img|media|xml|user_guide|robots\.txt|favicon\.ico)
      RewriteCond $1 !\.(css|js|jpe?g|gif|png|tiff)$
      RewriteRule ^(.+)$ app.php/$1 [L,QSA]