3

我正在为以下情况使用重定向规则:

父文件夹/站点(登陆页面)

/关于/领导者

子网站(链接到个人资料)

/about/leaders/name1 /about/leaders/name2

我需要停用 /about/leaders 页面并重定向到 / 但是,配置文件应该仍然在线。

它必须与此类似 =

RedirectMatch 301 /about/leaders/(.*) /
RedirectMatch 301 /about/leaders(.*) /$1

但这不起作用。在子配置文件上,/about/leaders 部分被删除,只有 /nameX 保留。我找不到答案。也许其他人也想实现类似的目标。

无论如何,我很高兴得到每一个帮助

4

2 回答 2

10

问候詹斯,

认为你需要一行代码

RedirectMatch 301 ^/about/leaders/?$ /

我对使用锚很感兴趣。因此,首先使用 . 锚定到 URL 的前导部分^。然后,您可以选择将尾随的“/”与?. 然后通过 将其锚定到 URL 的尾部$。应该是这样的。不需要第二个指令。

由于更多扩展的 URL/about/leaders/name与模式不匹配,因此它们应该可以正常访问。

希望这可以帮助!

于 2013-05-21T19:36:11.787 回答
1

使用 mod_rewrite 可能会更好。通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^about/leaders(/.*|)$ /$1 [L,R=302,NC]

确认它工作正常后,替换R=302R=301. R=301在测试你的 mod_rewrite 规则时避免使用(永久重定向)。

于 2013-05-21T19:34:40.080 回答