2013-08-20 7 views
0

я в настоящее время консолидации сообщения на сайте мы недавно приобретенном, что было несколько WordPress устанавливает для управления контентом, один в папке public_html, а другой в подкаталоге, например, так:.htaccess Подкаталог Rewrite Исключение

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 или более символов) на (.+) (что соответствует одному или нескольким символам). Это означает, что должно быть что-то, следующее за /another-install/, чтобы было перенаправление.

+0

Пробовал это и очистил кэш, чтобы его проверить. Теперь он перейдет на http: // domain.com/index.wml вместо перенаправления на главную страницу, но не отображает страницу (я создал ее в главной установке для показа). Есть идеи? – thatsamore

0

Чтобы указать исключения, вам необходимо указать RewriteRule. Добавьте это в свой файл .htaccess

RewriteCond %{REQUEST_URI} !^/old-install/(index\.wml)?$ [NC] 
RewriteRule ^old-install/(.+)$ http://domain.com/$1 [R=301,NC,L] 
Смежные вопросы