mod_rewrite重写所有文件夹

时间:2011-12-07 20:36:16

标签: mod-rewrite

我正在尝试使用mod_rewrite来创建干净的链接。我已经把它从这里拿走了我的网址:

http://www.example.com/index.php?LTKeywords=long-tail-keyword

http://www.example.com/long-tail-keyword/

这正是我想要的。我使用的代码是:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)/ index2.php?LTKeywords=$1 

一个问题。

它现在重定向我的所有文件夹,因此我的/images//css/文件夹中的任何内容都不会显示。有没有办法阻止它重写特定的文件夹?

1 个答案:

答案 0 :(得分:1)

最简单的方法可能是RewriteCond。您可以使用!作为前缀来指定必须不匹配:

RewriteCond %{REQUEST_URI} !^/css

例如。

您可能只想排除实际存在的目录:

RewriteCond %{REQUEST_URI} !-d

最后,您还可以将静态内容放在不同的主机名(virtualhost)上,避免重写规则。

您还可以添加一些RewriteRules以匹配您的CSS等,并使它们实际上不会更改任何内容(重写/ css到/ css)但指定L(last)标志,因此其他规则不会运行。