我需要为我的.htaccess创建一个正则表达式重写规则。
这就是问题所在。我之前的网址结构是:
http://example.com/whatever-the-url-is/?lang=en
现在我把它变成了
http://example.com/en/whatever-the-url-is/
我想创建一个.htaccess网址,301将所有网址从之前的结构重定向到新网址。
.htaccess也是在不同的域之间共享的,所以应该有
开始时RewriteCond %{http_host} !^example.com$ [NC]
条件......
有可能吗?你有什么建议吗?
答案 0 :(得分:2)
您可以使用:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteCond %{QUERY_STRING} (?:^|&)lang=(.+?)(?:&|$) [NC]
RewriteRule ^(.*)$ /%1/$1? [R=301,L]
您可以在RewriteRule
之后添加RewriteCond %{HTTP_HOST}
:
RewriteCond %{REQUEST_URI} !^/(?:en|fr|sp)/ [NC]
您在哪里测试lang
代码是否已在网址中。