2014-05-15 111 views
-1

我有一个多语言网站。 所以我需要做这样的事情:通过htaccess重写并传递数据

例如我的网站是:example.com它有2种外语(en & de)。现在我想安装我的网站example.com/foreign,如果有人打开example.com/en/*anything*我希望我的网站打开example.com/foreign/*anything*没有任何重定向,它也应该通过一个参数像LANG通过POST或GET或其他任何东西来检测数据库表的相关表语言。

和主要的问题是,*anything*可以像一个目录名或类似test.php?par1=value1&par2=value2

有啥这个解决一些什么吗?

+0

那你先试试? – nalply

+0

我想:!(*)。。。 '的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重写规则^ $ \ \ \/\ \ \ /国外\/$ 1' – Amir

+0

而且哪里没有做你想要的? –

回答

1

将这个代码在你DOCUMENT_ROOT/.htaccess文件:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z]{2})/(.+)$ /foreign/$1?lang=$1 [L,NC,QSA] 
+0

感谢您的回答,但我告诉说,URL可能是这样的:'example.com/en/index.php?param1 = value1' 因此,您的代码重写将如下所示:'example.com/ en/index.php?param1 = value1?lang = en'这不是我们想要的 – Amir

+0

这是不正确的,最终的URL将是:'example.com/en/index.php?param1 = value1&lang = en' – anubhava

+0

非常很感谢 :) – Amir