我想这样做了很多这样的模式重定向:
domain.com/xxx/?lang=en
到domain.com/en/xxx/
例如:
domain.com/about/?lang=en
到domain.com/en/about/
这会将所有链接*/?lang=en
只是一个目标。
RewriteCond %{QUERY_STRING} ^lang=en
RewriteRule ^ en/about/? [R=301,L]
我想这样做了很多这样的模式重定向:
domain.com/xxx/?lang=en
到domain.com/en/xxx/
例如:
domain.com/about/?lang=en
到domain.com/en/about/
这会将所有链接*/?lang=en
只是一个目标。
RewriteCond %{QUERY_STRING} ^lang=en
RewriteRule ^ en/about/? [R=301,L]
您可以使用您的根这些规则.htaccess
:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+([^/]+)/\?lang=([^\s&]+) [NC]
RewriteRule ^ /%2/%1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/([^/]+)/?$ $2/?lan=$1 [L,QSA]
更改302
到301
,一旦你确保代码工作正常。