需要将一百个左右的链接从一个域重定向到另一个域。这是我目前的代码(不工作):
RewriteCond %{HTTP_HOST} ^www.onedomain.info/$1/staticword($2.*) [nc]
RewriteRule (.*) http://otherdomain.com/$1/staticword($2.*) [R=301,L]
重定向域名themsleves是一个明智的选择,我认为这是正确的,然后我也认为$ 1是正确的 - 因为$ 1是体育类别(如足球或曲棍球)的12个不同单词的变量,有时候只有一个单词,有时候另一个(但是它应该是相同的,所以这就是为什么我那里有1美元 - 如果我错了,请纠正我,但这可以起作用我认为......)。
问题是,之后有一个静态词没有改变(在每个链接中都是一样的 - 它就像是“看”......)但是在那个词之后,我可以尝试绝对的任何东西解决方法($ 2. *),但出于某种原因这是错误的。
你能帮忙吗?谢谢!答案 0 :(得分: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-cup
,规则就是这样:
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]