仅重定向父文件夹而不是子文件夹.htaccess

时间:2013-05-21 19:15:07

标签: mod-rewrite

我正在努力解决以下情况的重定向规则:

父文件夹/网站(登录页面)

/约/领袖

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

/约/领袖/ NAME1 /约/领袖/ NAME2

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

必须与此类似

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

但这不起作用。在子配置文件中,part / about / leaders被删除,只有/ nameX保留。我无法找到答案。也许其他人想要实现类似的东西。

无论如何,我很高兴每一次帮助

2 个答案:

答案 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(永久重定向)。