Php 使用htaccess直观地更改URL
我试图在视觉上改变Php 使用htaccess直观地更改URL,php,.htaccess,web,Php,.htaccess,Web,我试图在视觉上改变 www.example.com/?lang=en 到 www.example.com/en 但它不起作用 这是我的密码: RewriteCond %{QUERY_STRING} ^lang=(\w+)$ RewriteRule ^(.*)\?lang=(\w+)$ /$1 [L] 我不想要任何重定向,我只想在URL上看到结果 有人能帮我吗 谢谢。试试这样: RewriteEngine On RewriteCond %{HTTP:Accept-Language} ^en [
www.example.com/?lang=en
到
www.example.com/en 但它不起作用 这是我的密码:
RewriteCond %{QUERY_STRING} ^lang=(\w+)$
RewriteRule ^(.*)\?lang=(\w+)$ /$1 [L]
我不想要任何重定向,我只想在URL上看到结果
有人能帮我吗
谢谢。试试这样:
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ http://yoursite.com/en/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ http://yoursite.com/de/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^nl [NC]
RewriteRule ^$ http://yoursite.com/nl/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ http://yoursite.com/fr/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ http://yoursite.com/es/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(en|de|nl|fr|es)/?$ index.php?lang=$1 [QSA,NC,L]
^(.*)lang=(\w+)$
永远不会匹配-RewriteRule只会根据模式检查URL的路径组成部分。我不能100%确定我是否同意使用HTTP:Accept Language
,但这会起作用-如果您能为OP和任何未来的访问者添加一个简短的解释,说明这是如何工作的,那就太好了;)