我要重定向到根文件夹的子文件夹是www.example.com/subfolder
因此,我需要将该子文件夹中的所有内容重定向到url地址https://www.example.com,但以下两个文件夹除外(它们位于子文件夹中):www.example.com/subfolder/folder1和www.example.com/subfolder/folder2的函数
我花了大约4个小时试图找到确切的代码,但我不能解决,没有为我工作。
我试过很多密码,但没有一个对我有效。例如:
RewriteEngine On
RewriteCond %{REQUEST_URI}!^/subfolder/folder1/
RewriteCond %{REQUEST_URI}!^/subfolder/folder2/
RewriteRule ^(.*)$ /$1 [R=301,L]
和
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_URI}!^/subfolder/folder1/
RewriteCond %{REQUEST_URI}!^/subfolder/folder2/
#RewriteRule (.*) http://www.example.com/subfolder/ [R=301,QSA,L]
RewriteRule (.*) https://www.example.com [R]
有人能帮我吗?
我希望将.htaccess文件放在子文件夹中。
非常感谢你。
1条答案
按热度按时间cdmah0mi1#
我认为你的第一次尝试看起来很不错。只是做了一点小小的修改,因为你说你想重定向到根路径,而不是根路径里面的东西:
由于您希望使用分布式配置文件(与http主机的首选中央配置相对),因此该规则应在“子文件夹”内的“.htaccess”文件中使用。
一开始使用
R=302
temporary 重定向是个好主意,只有在一切正常工作后才将其更改为R=301
permanent 重定向。此外,您需要确保始终使用新的匿名浏览器窗口进行测试,以防止客户端缓存效应。而且您还需要确保http服务器在该位置考虑了这样的分布式配置文件(请参阅
AllowOverride
指令的文档)。