mod_rewrite不会触发加载的css

时间:2013-03-18 07:46:14

标签: css .htaccess mod-rewrite

我想将所有请求重定向到index.php,任何%{REQUEST_URI}部分都应作为参数传递给index.php。此外,即使%{REQUEST_URI}部分指向现有文件/目录,我仍然希望进行重定向。例如,我的文档根目录中有一个名为js的目录。当我访问我的网站http://www.example.com/js时,我仍然想要重定向到http://www.example.com/index.php?uri=js,而不是在浏览器中显示目录的内容。

所以,我在.htaccess文件中添加了以下两行。

RewriteEngine On
RewriteRule .* index.php?uri=%{REQUEST_URI} [QSA]

但这不起作用。

首先,当我指定现有文件的路径时,例如http://www.example.com/foo.css,它仍然在浏览器中显示文件的内容。 (我想要的是http://www.example.com/index.php?uri=foo.css)其次,当访问目录时,例如http://www.example.com/js,然后重定向发生,但css无法生效,我的网站看起来已损坏。

好消息是,如果我指定一个不指向根目录中任何文件/目录的任意字符串,它可以正常工作。我花了几个小时试图调试这个,但我不知道。我如何解决我的问题?

仅供参考,我正在使用Apache 2.4.3。

1 个答案:

答案 0 :(得分:0)

可能是以下代码:

RewriteEngine On
RewriteRule ^index.php?uri=(.*)$ $1 [L]

我不知道你是否想要它。