我有一个多语种网站
我需要example.it/(.*)来处理example.com/it/$1上的请求,而无需重定向到example.com。只是为了保持example.it并处理对example.com/it /
的所有请求答案 0 :(得分:0)
正如Apaches rewrite module的文档中所解释的那样,这些例子应该指向正确的方向。
使用添加请求参数lang
的示例:
RewriteEngine On
RewriteLog /var/log/apache2/rewrite_log
RewriteLogLevel 3
RewriteRule ^/(it|fr|no)/(.*)$ /$2?lang=$1 [L,QSA]
规则要注意所有对http(s)://example.com //的请求都在内部重写,以便http(s):// example.com / ...?lang = is调用。发送链接时请注意仅使用相对链接。
使用环境变量LANG
的示例,可以通过某些脚本或其他任何内容进行评估:
RewriteEngine On
RewriteLog /var/log/apache2/rewrite_log
RewriteLogLevel 3
RewriteRule ^/(it|fr|no)(/.*)$ $2 [L,E=LANG:$1,QSA]
请注意,我不运行此代码,我只是将其写下来,所以如果提到一些错误,您可能需要稍微调整一下。还可以尝试使用RewriteLogLevel(值0-9),这有助于理解重写引擎内部的情况。