我正在尝试从扩展和php中清除url获取语言变量:
test.com/en/=>test.com/?lang=en-
test.com/ro/page/=>test.com/page.php?lang=ro
这是我的.htaccess:
AddDefaultCharset utf-8
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .* - [L]
RewriteRule ^([^/]+)/([^.]+)'.php /$2.php?lang=$1 [L,NC,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !('.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
当它转换test.com/ro/page=>test.com/page.php时?lang=rotest.com/ro/index=>test.com/index.php?lang=ro
我无法将其转换为索引页test.com/en/=>test.com/?lang=en-
你们能帮我实现这一点吗?
在这个规则下:
RewriteRule ^([^/]+)/([^.]+)'.php /$2.php?lang=$1 [L,NC,QSA]
尝试添加此规则:
RewriteRule ^([^/]{2})/?$ /?lang=$1 [L,NC,QSA]