将URL参数重新路由到路径并保持HTML引用有效(htaccess)

时间:2015-02-22 17:41:08

标签: php html .htaccess mod-rewrite

我有一个网址http://example.com/?r=FOO&c=BAR,我想通过http://example.com/FOO/BAR访问该网址。两个参数都是可选的。我使用这个htaccess工作了这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^([^/]+)(.*)?$ index.php?r=$1&c=$2   [L]

但是,现在我意识到我的index.php中引用的文件不会加载。例如,我有http://example.com/css/app.css。通过当前重写URL,浏览器尝试获取http://example.com/FOO/css/app.css并接收实际的index.php。

我尝试添加<base href="/"><base href="http://example.com/">

我被困在这里。谁知道如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要在RewriteBase

下添加此条件来忽略文件
RewriteCond %{REQUEST_FILENAME} !-f