繁体   English   中英

htaccess重定向除多个文件夹和文件以外的所有文件

[英]htaccess redirect all except multiple folders and files

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

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

所以基本上我想重定向除js,css,img文件夹和getOrder.php,getCustomer.php文件之外的所有文件,诸如此类。 在这种情况下,有人可以帮忙吗?

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

编辑:使用包装器元素(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]

尽管如评论中所建议,您可以对“找不到文件”进行重定向,这可能更合适? 或将重定向放置在您不希望的文件夹中; 与您也重定向到Google相比,重定向到您说“未找到”的页面也更好。 但这就是你的电话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM