我需要重定向子域,如
^([a-z]{2}|ceb|haw|hmn|zh-CN|zh-TW).example.com/uk/(.*)$
例如:
de.example.com/uk/
ceb.example.com/uk/
重定向至http://$1.example.com/en/
例如:
de.example.com/en/
ceb.example.com/en/
如何在.htaccess
中进行更改?
我尝试使用以下方法,但不起作用:
RewriteRule ^([a-z]{2}|ceb|haw|hmn|zh-CN|zh-TW)/uk http://$1.ts2.space/en [R=301,L]
2条答案
按热度按时间643ylb081#
RewriteRule
* 模式 * 仅与URL路径匹配。要匹配主机名,您需要额外的 * 条件 *(RewriteCond
指令)并与HTTP_HOST
服务器变量(即Host
HTTP请求头的值)匹配。在您的示例中,您重定向到相同的主机,因此不需要在 * substitution * 中使用反向引用,并且可以完全省略scheme + hostname。
例如,下面的代码按照第一个示例将
de.example.com/uk/
重定向到de.example.com/en/
。注意:不要忘记在正则表达式中反斜杠转义文字点。
参考:
eivnm1vs2#
谢谢你。
出了问题。我在. htaccess的第一行添加了代码,但它不起作用。
我有一个Apache人。