我有几个网站,我建立了一个CMS,将语言保存在XML文件中,根据页面和语言选择器,它将显示正确的数据。我可以为每个网站提供8种不同的语言,网址如下:
http://leclosdamboise.com/index.php?lang=fr
http://leclosdamboise.com/rooms.php?lang=en
http://leclosdamboise.com/hotel.php?lang=de
我正在努力让网址被重写为:
http://leclosdamboise.com/fr/index.php
http://leclosdamboise.com/en/rooms.php
http://leclosdamboise.com/de/hotel.php
我花了几个小时梳理论坛,但却找不到有效的解决方案。我的.htaccess文件目前看起来像这样:
SetEnv PHP_VER 5_TEST
SetEnv REGISTER_GLOBALS 0
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9]+)$ index.php?lang=$1 [QSA,L]
这没有做任何事情,网址仍然是丑陋的继女版本。上面的链接是指向其中一个站点的实际链接。一旦我解决了这个问题,我需要将它解压缩到几个站点,但是我一直在努力解决这个问题。谁能告诉我我做错了什么?
答案 0 :(得分:2)
这应该在根目录下的一个.htaccess文件中起作用:
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]