htaccess重定向所有除了多个文件夹和文件

时间:2012-09-06 03:09:21

标签: php .htaccess redirect

我一直在尝试多种不同类型的示例,但在尝试添加更多文件夹和文件作为重定向的例外时,我无法使用它。我只知道这个例子可以在我的apache localhost中运行:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule  !^js($|/) http://google.com [L,R=301]
</IfModule>

所以基本上我想重定向所有除了js,css,img文件夹和getOrder.php,getCustomer.php文件之类的东西。在这种情况下,有人可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

我建议您添加“最后”规则,说“不要触摸这些文件夹”。然后在那之后进行重定向。

编辑:使用包装器元素更新了答案(FollowSymLink,ReWriteEngine on)。

Options +FollowSymLinks
Options -Indexes

# These folders will not be touched.
RewriteEngine On
RewriteCond %{REQUEST_URI} "/css/" [OR]
RewriteCond %{REQUEST_URI} "/img/"
RewriteRule (.*) $1 [L]

# Then have your redirect rule
RewriteEngine On
RewriteRule  (.*) http://google.com [L,R=301]

虽然在评论中建议,您可以重定向“找不到文件”,这可能更合适?或者在您不喜欢的文件夹中放置重定向;不希望有人阅读。它也可以更好地重定向到您说“未找到”的页面,而不是重定向到谷歌。但那是你的电话。