Mod重写到不存在的目录

时间:2013-06-19 02:01:17

标签: php regex apache url mod-rewrite

我的问题是,如果我使用以下规则重写我的网址

RewriteCond %{QUERY_STRING} ^site=meine-bar&filter=([a-zA-Z]+)$
RewriteRule ^meine-bar/([a-zA-Z]+)$ index.php?site=meine-bar&filter=$1 [L]

我的index.php也识别出新的URL并且我的依赖项是错误的。

例如。

通常链接是例如

<link href="css/style.css" ... />

现在我已经重写了index.php在meine-bar/css/style.css

中查找链接的URL

如何告诉Mod Rewrite只是“虚拟”将我重定向到这个不存在的文件夹?我不想在文件夹中(因为它不存在),我只是不想让用户相信这个文件夹存在(URL只是看起来像它存在)

1 个答案:

答案 0 :(得分:1)

更改此

<link href="css/style.css" ... />

到这个

<link href="/css/style.css" ... />

我相信它仍然会因为你需要它而没有使用meine-bar

原因是您正在使用relative路径,因此它会选择URL“认为”它所在的目录。为了防止您需要使用absolute路径。因此,将/放在目录前面,告诉它从webroot开始,这是你真正想要的地方。希望有道理。