301重定向文件夹根目录

301 redirect folder root

我正在努力处理一个相当简单的 301 重定向。

我有几个页面重定向都可以正常工作 - 例如

Redirect 301 /folder/mypage1.html https://www.example.com/folder/mypage2.html.

但是现在我想从文件夹根目录重定向到另一个页面,但是我不想重定向文件夹中的任何其他页面。

所以 /myfolder/ 应该重定向到 https://www.example.com/mypage.html/myfolder/mypage.html 不应该重定向。

我试过:

Redirect 301 /myfolder/ https://www.example.com/mypage.html但这行不通。

我为新手问题道歉,这个问题的答案可能非常简单。

使用您显示的示例,请尝试遵循 htaccess 规则文件。这使用 apache 的 THE_REQUEST 变量来执行重写。

请确保在测试您的网址之前清除您的浏览器缓存。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s/myfolder/\s [NC]
RewriteRule ^  mypage.html [L]

使用 RedirectMatch,它使用正则表达式匹配,而不是简单的前缀匹配(与 Redirect 一样)来仅重定向对文件夹的请求。

例如:

RedirectMatch 301 ^/myfolder/$ https://www.example.com/mypage.html

RedirectRedirectMatch 都属于同一个 Apache 模块:mod_alias

如果您一直在尝试 301(永久)重定向,则需要清除浏览器缓存。首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。