我目前正在合并我们最近获得的网站上的帖子,这些网站有多个WordPress安装来管理内容,一个在public_html
文件夹中,另一个在子目录中,如下所示:
1. http://domain.com/
2. http://domain.com/another-install/
我们正在将所有内容从/another-install/
移至主设置,并使用301重定向从所有旧链接中移除/another-install/
,如下所示:
RedirectMatch 301 ^/another-install/(.*) http://domain.com/$1
导致所有重定向的文章如下:
http://domain.com/another-install/article-name/
TO
http://domain.com/article-name/
问题是,我们希望将/another-install/
视为一个页面。使用当前重定向,http://domain.com/another-install/
转到http://domain.com/
。有没有办法添加异常,或重写当前规则以使/another-install/
可以查看?
答案 0 :(得分:0)
将正则表达式从(.*)
(与任何字符的0或更多匹配)更改为(.+)
(与任何字符中的1个或更多匹配)。这意味着必须有/another-install/
之后的内容才能进行重定向。
答案 1 :(得分:0)
您需要RewriteRule
来指定排除对象。将其添加到您的.htaccess
文件
RewriteCond %{REQUEST_URI} !^/old-install/(index\.wml)?$ [NC]
RewriteRule ^old-install/(.+)$ http://domain.com/$1 [R=301,NC,L]