.htaccess 仅从文件夹URL重定向到另一个URL(但允许子文件夹URL)

nbewdwxp  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(159)

我想从
http://example.com/folder

http://example.com/
但仍然可以访问
http://example.com/folder/subfolder
没有被重定向。所以只有特定的“文件夹”-URL应该被重定向到根目录。这是可行的吗?似乎不能排除子文件夹。
当前代码(也重定向文件夹/子文件夹)为:

Redirect folder https://www.example.com/

非常感谢!

vybvopom

vybvopom1#

问题出在Redirect指示词,它符合任何以指定模式开头的URI。这里它会符合任何以/folder开头的URI。
您可以使用RedirectMatch通过正则表达式进行精确匹配:

RedirectMatch 302 ^/folder/$ https://www.example.com/

或者使用RewriteRule

RewriteRule ^/?folder/$ https://www.example.com/ [L,R=302,NC]

请注意,我在RewriteRule中保留了前导/可选。这使得此规则与Apache服务器配置兼容,在Apache服务器配置中,它应以/和.htaccess开头,其中前导/不匹配,因为.htaccess是每个目录指令,Apache从RewriteRule URI模式中剥离了当前目录路径(因此前导斜线)。

相关问题