使用Apache MOD_重写多路重定向匹配URL路径
我找不到执行此永久重定向的方法: 发件人: 到 如果“it”是语言id,那么它也可以是“fr”、“de”、“en”等等。 我想这是可行的:使用Apache MOD_重写多路重定向匹配URL路径,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我找不到执行此永久重定向的方法: 发件人: 到 如果“it”是语言id,那么它也可以是“fr”、“de”、“en”等等。 我想这是可行的: RedirectMatch 301 http://(.*).example.com/oldpath/ http://www.example.com/$1/newpath/ 但由于包含的路径,它不起作用。但是去掉它,我就失去了关于语言的参数化信息。如何执行此类操作?您需要使用mod_rewrite而不是mod_alias来匹配主机名 RewriteEngin
RedirectMatch 301 http://(.*).example.com/oldpath/ http://www.example.com/$1/newpath/
但由于包含的路径,它不起作用。但是去掉它,我就失去了关于语言的参数化信息。如何执行此类操作?您需要使用mod_rewrite而不是mod_alias来匹配主机名
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www)(.+)\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/%1/$1 [R=301,L]
您需要使用mod_rewrite而不是mod_alias来匹配主机名
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www)(.+)\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/%1/$1 [R=301,L]
谢谢你,巴拿马杰克!我无法在我的开发环境中尝试,因为出于某些原因,通配符不起作用,我将很快在阶段上测试它(我没有得到%1)。在这个规则之后,在这一点上,我应该有
http://www.example.com/it/newpath/...
,我现在是否可以添加更多规则,例如:重定向匹配301/(.*)/newpath/(.*)/http://www.example.com/$1/newpath/$2/more/
重定向,例如。,从http://www.example.com/it/newpath/test1
至http://www.example.com/it/newpath/test1/more/
?重定向正在工作,但我无法测试它们在上一个规则之后是否工作(重写日志也不工作)。德克萨斯州!好的,上一个问题的答案是肯定的。谢谢@Panama Jack!我无法在我的开发环境中尝试,因为出于某些原因,通配符不起作用,我将很快在阶段上测试它(我没有得到%1)。在这个规则之后,在这一点上,我应该有http://www.example.com/it/newpath/...
,我现在是否可以添加更多规则,例如:重定向匹配301/(.*)/newpath/(.*)/http://www.example.com/$1/newpath/$2/more/
重定向,例如。,从http://www.example.com/it/newpath/test1
至http://www.example.com/it/newpath/test1/more/
?重定向正在工作,但我无法测试它们在上一个规则之后是否工作(重写日志也不工作)。德克萨斯州!好的,上一个问题的答案是肯定的。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?!www)(.+)\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/%1/$1 [R=301,L]