2014-02-09 29 views
6

我想所有路径重定向这样的:htaccess的重定向的目录名称参数

myurl.com/worldwide/en 
myurl.com/worldwide/pt 
myurl.com/worldwide/de 

到:

myurl.com/worldwide/index.php?lang=en 
myurl.com/worldwide/index.php?lang=pt 
myurl.com/worldwide/index.php?lang=de 

只要是明确的路径名的动态重定向后/worldwide

其实理想情况下,我想保留原始网址(例如myurl.com/worldwide/de),但加载与语言目录相同的PHP文件作为参数,但不知道如果 这个有可能?

感谢

回答

8

使用此代码

RewriteEngine On 
RewriteBase /worldwide/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?lang=$1 [L,QSA] 

请让我知道如果这有助于你

+0

近乎完美,非常感谢!只需要从'^(。*)$ index.php?/ lang = $ 1 [L,QSA]'中删除'/'。 '$ 1'解析为例如'worldwide/en'而不是'en',但不是问题,我可以在PHP中删除它。很高兴它不改变网址要么感谢 –

+0

谢谢...请接受它作为答案同样 –

+0

我会(必须等待最少量的分钟) –

-1
RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule^%{REQUEST_URI}.php [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php !-f 
RewriteRule ^(.+)$ /index.php?page=$1 [L,QSA]