使用htaccess直观地更改URL

时间:2018-12-05 14:56:46

标签: php .htaccess web

我正在尝试从视觉上改变

www.example.com/?lang=zh-TW

www.example.com/en

但这不起作用...

这是我的代码:

RewriteCond %{QUERY_STRING} ^lang=(\w+)$
RewriteRule ^(.*)\?lang=(\w+)$ /$1 [L]

我不需要任何重定向,我只想在URL上查看结果。

有人可以帮助我吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

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]