多语言的PHP cms与.htaccess

时间:2013-02-16 13:25:25

标签: php apache url-rewriting get multilingual

我处于原型阶段&与error_reporting(-1)合作;我的博客将使用2种语言。土耳其语+英语。

我目前的计划是向用户展示一个非常简单的index.php来选择他/她的语言。然后将页面发送到index2.php?lang={turkish or english}语言设置完毕后,我计划只使用index2.php页面管理所有内容。

我的 index.php 代码:

<a href="türkçe/" alt="Türkçe" title="Türkçe">Türkçe</a><br /><br />
<a href="english/" alt="English" title="English">English</a>

我的 index2.php试用版暂时

echo $_GET[rd_dil];
if ($_GET[rd_dil] =='türkçe') {echo 'success';}

我的 .htaccess

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^türkçe(.+)$ index2.php?rd_dil=türkçe [L,QSA]
RewriteRule ^english(.+)$ index2.php?rd_dil=english [L,QSA]


我的问题:

问题1
我的index2.php输出带有2个通知(下面),我应该怎么做通知安全设计?

Notice: Use of undefined constant rd_dil - assumed 'rd_dil' in C:\Program Files (x86)\Ampps\www\index2.php on line 17
türkçe
Notice: Use of undefined constant rd_dil - assumed 'rd_dil' in C:\Program Files (x86)\Ampps\www\index2.php on line 18
success

问题2
你认为我的计划,思维方式合乎逻辑吗?如果您有更有效的方法,请指导我吗?正如我所写,一切都始于观众的语言选择。

1 个答案:

答案 0 :(得分:2)

echo $_GET[rd_dil];

echo $_GET['rd_dil'];

将解决问题1.您在变量名称周围缺少引号。这就是通知的原因。

对于问题2,我会说这实际上取决于应用程序。所有应用程序都没有100%的计划效率。