Использование ISAPI-Rewrite htaccess для 301 перенаправления нескольких URL-адресов для нескольких имен хостов?

У меня есть один сайт в IIS, который работает с 4 разными именами хостов. CMS обрабатывает это и отображает правильный сайт на основе имени входящего хоста.

Мне нужно использовать перезапись ISAPI для обработки всех старых URL-адресов, а 301 перенаправить их на новые эквивалентные, именно так я сейчас работаю с перенаправлениями в моем файле ISAPI-rewrite .htaccess

RewriteEngine on

RewriteRule ^post/my-old-page-one$ /my-newer-page-one [R=301]
RewriteRule ^post/my-old-page-two$ /my-newer-page-two [R=301]

Моя проблема в том, что мне нужно также проверить домен на входящий URL-адрес. Поскольку на сайтах есть те же старые URL-адреса, теперь необходимо перейти на другую страницу.

Я надеялся, что смогу это сделать.

RewriteEngine on

RewriteRule ^http://www.siteone.com/post/my-old-page-one$ http://www.siteone.com/my-newer-page-one [R=301]
RewriteRule ^http://www.siteone.com/post/my-old-page-two$ http://www.siteone.com/my-newer-page-two [R=301]

RewriteRule ^http://www.sitetwo.com/post/my-old-page-one$ http://www.sitetwo.com/my-newer-page-one [R=301]
RewriteRule ^http://www.sitetwo.com/post/my-old-page-two$ http://www.sitetwo.com/my-newer-page-two [R=301]

Но это не работает. Любой совет очень ценится.


person leen3o    schedule 07.11.2014    source источник
comment
Почему бы вам не использовать подключаемый модуль IIS UrlRewrite?   -  person kipusoep    schedule 07.11.2014
comment
И вы говорите, что я могу сделать это проще, используя плагин IIS UrlRewrite? Кстати, у меня в районе 3000+ урлов.   -  person leen3o    schedule 07.11.2014
comment
Я не вижу разницы между определением их вручную с помощью ISAPI или UrlRewriting ... Кстати, вы проверили мой плагин Url Tracker Umbraco?   -  person kipusoep    schedule 07.11.2014


Ответы (1)


Проверка имени хоста выполняется в отдельном условии, например:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.siteone\.com$ [NC]
RewriteRule ^post/my-old-page-one$ http://www.siteone.com/my-newer-page-one [R=301,NC,L]
RewriteCond %{HTTP_HOST} ^www\.siteone\.com$ [NC]
RewriteRule ^post/my-old-page-two$ http://www.siteone.com/my-newer-page-two [R=301,NC,L]

RewriteCond %{HTTP_HOST} ^www\.sitetwo\.com$ [NC]
RewriteRule ^post/my-old-page-one$ http://www.sitetwo.com/my-newer-page-one [R=301,NC,L]
RewriteCond %{HTTP_HOST} ^www\.sitetwo\.com$ [NC]
RewriteRule ^post/my-old-page-two$ http://www.sitetwo.com/my-newer-page-two [R=301,NC,L]
person TonyCool    schedule 07.11.2014