我遇到了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上我尝试了一些解决方案。 希望您能够帮助我。
答案 0 :(得分:1)
由于您使用了css / js / images的相对URL,因此出现了问题。
您有2个选项可以解决它:
只需在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://
或斜杠/
开头。
您可以尝试在页面标题中添加:
<强>更新强>
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]