我正在努力解决以下情况的重定向规则:
父文件夹/网站(登录页面)
/约/领袖
子网站(链接到个人资料)
/约/领袖/ NAME1 /约/领袖/ NAME2
我需要停用/ about / leaders页面并重定向到/ 但是,配置文件应该仍然在线。
必须与此类似
RedirectMatch 301 /about/leaders/(.*) /
RedirectMatch 301 /about/leaders(.*) /$1
但这不起作用。在子配置文件中,part / about / leaders被删除,只有/ nameX保留。我无法找到答案。也许其他人想要实现类似的东西。
无论如何,我很高兴每一次帮助
答案 0 :(得分:10)
Greeings Jens,
认为您需要一行代码
RedirectMatch 301 ^/about/leaders/?$ /
我是关于使用锚的肛门。因此,首先使用^
锚定到URL的前导部分。然后,您可以选择将尾部“/”与?
匹配。然后通过$
将其锚定到URL的尾端。那应该是它。不需要第二个指令。
由于/about/leaders/name
的更多扩展网址与模式不匹配,因此应该可以正常访问它们。
希望这有帮助!
答案 1 :(得分:1)
使用mod_rewrite可能会更好。通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^about/leaders(/.*|)$ /$1 [L,R=302,NC]
验证一切正常后,将R=302
替换为R=301
。在测试mod_rewrite规则时,请避免使用R=301
(永久重定向)。