Правило перезаписи URL htaccess для всего в папке - PullRequest
2 голосов
/ 27 марта 2012

Я посмотрел, но не могу найти ничего, что работает. У меня есть старый сайт, который мы обновили. У них все было в папке с названием сайта под корнем. Теперь всем клиентам, у которых есть эта закладка, я бы хотел перенаправить их, независимо от того, что находится после сайта папки (подпапки, файлы), на главную страницу нового сайта вместо страницы, не найденной в нашей новой установке WordPress. Любая помощь приветствуется.

Старый URL: http://www.oldsite.com/site/.... на новый URL http://www.newsite.com

Я пробовал это безрезультатно

Rewrite Rule ^site/(.*)$ http://www.newsite.com

Спасибо.

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

попробовать:

RewriteEngine On
RewriteCond %{HTTP_HOST} oldsite.com$ [NC]
RewriteRule ^site/(.*)$ http://www.newsite.com/$1 [R=301,L]

Это перенаправляет что-то вроде http://www.oldsite.com/site/some-page.html на http://www.newsite.com/some-page.html (соответствующий бит URI после / site / переносится в перенаправлении 301), но если вы хотите перенаправить все для / site / в корень индекса новостного сайта замените цель в RewriteRule на http://www.newsite.com/ (удалите бит $ 1).


EDIT:

На самом деле я пишу это неправильно выше. На самом деле это одно и то же доменное имя. Вопрос должен прочитать старый URL-адрес mysite.com/site .... все в этой папке, чтобы просто перенаправить на mysite.com

Тогда вы хотите:

RewriteEngine On
RewriteRule ^site/(.*)$ /$1 [R=301,L]

Или альтернативно с mod_alias:

RedirectMatch 301 ^/site/(.*)$ /$1 
1 голос
/ 28 марта 2012

Похоже, все, что вам нужно, это простое правило 1 вкладыша:

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

RewriteRule ^site/ / [R=301,L,NC]
...