我的htaccess有一些问题。 我的链接:http://example.com/log/?lang=en log - 它是一个不同的目录和lang(en或uk或ru) 但我想要一些漂亮的网址: http://example.com/en/log/
在我使用正则表达式之前:
RewriteRule ^([a-z]{2})/?$ index.php?lang=$1 [L,NC,QSA]
RewriteRule ^([a-z]{2}(-[A-Z]{2})?)/(.*) $3?lang=$1 [L,NC,QSA]
但是找不到漂亮网址的决定
我想要的是什么:
根据我的逻辑,我必须剪切lang = en并将我的主机与request_uri粘贴在一起 喜欢:host / en /?request_uri 但是怎么做呢?
答案 0 :(得分:1)
这样做:
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} \s/+(log)/\?lang=([^\s&]+) [NC]
RewriteRule ^ /%2/%1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
RewriteRule ^([a-z]{2})/?$ index.php?lang=$1 [L,NC,QSA]
RewriteRule ^([a-z]{2}(-[A-Z]{2})?)/(.*) $3?lang=$1 [L,NC,QSA]