0

我在 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。由于这些网站具有相同的旧网址,因此现在需要转到不同的页面。

我希望我能做到这一点。

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]

但它不起作用。非常感谢任何建议。

4

1 回答 1

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]
于 2014-11-07T13:08:00.833 回答