0

需要将一组数百个左右的链接从一个域重定向到另一个域。这是我当前的代码(不工作):

RewriteCond %{HTTP_HOST} ^www.onedomain.info/$1/staticword($2.*) [nc]
RewriteRule (.*) http://otherdomain.com/$1/staticword($2.*) [R=301,L]

重定向域 thessleves 是不费吹灰之力的,我认为这是正确的,然后我也认为 $1 是正确的 - 因为 $1 是运动类别(如足球或曲棍球)的 12 个不同单词的变量,有时只有一个词,有时是其他(但是ofc应该是一样的,所以这就是为什么我在那里有$ 1 - 如果我错了请纠正我,但我认为这可以工作......)。

问题是在那之后有一个不变的静态词(在每个链接中始终相同 - 它类似于“手表”......)但是在那个词之后绝对可以有任何我试图解决的问题( $2.*) 但由于某种原因它是错误的。

你能帮忙吗?谢谢!

4

1 回答 1

0
RewriteEngine On

# HTTP_HOST if to match domain names only
RewriteCond %{HTTP_HOST} ^www\.onedomain\.info$ [NC]
# On the left hand we match the rest and on the right we redirect
RewriteRule ^(.*)/(staticword.*)/?$ http://otherdomain.com/$1/$2 [R=302,L]

请注意,我使用的是 302,因为您想在将其更改为 301 之前先对其进行测试,因此您的浏览器不会与它一起被缓存,直到您确定它按您希望的方式工作。

因此,鉴于您的示例http://onedomain.info/soccer/watchfe27789-mexico-vs-trinidad-and-tobago-gold-cu‌​p,规则将如下所示:

RewriteEngine On

# HTTP_HOST if to match domain names only
RewriteCond %{HTTP_HOST} ^www\.onedomain\.info$ [NC]
# On the left hand we match the rest and on the right we redirect
RewriteRule ^(.*)/(watchfe27789.*)/?$ http://otherdomain.com/$1/$2 [R=302,L]
于 2013-08-03T20:52:06.917 回答