我是apache的mod_rewrite的新手,我遇到了问题...
如果我使用url:mysite.com/nl/或mysite.com/fr/我将被重定向到正确的页面,当用户输入url mysite.com时,我将用户重定向到nl语言但是问题是在地址栏中,url保留了mysite.com,我希望它是mysite.com/nl
这是我的htaccess文件:
RewriteEngine on
DirectoryIndex index.php
RewriteBase /
# Rewrite voor taal en pagina
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ $1/$2 [R]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?tl=$1&pg=$2 [L]
#rewrite voor taal
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ $1 [R]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?tl=$1 [L]
我的文件夹结构是:
[nl]
index.php
contact.php
[fr]
index.php
contact.php
index.php
index.php的内容(在根目录中):
<?
switch ($_REQUEST['tl'])
{
case 'nl':
switch ($_REQUEST['pg'])
{
case 'contact':
include_once("nl/contact.php");
break;
default:
include_once("nl/index.php");
break;
}
break;
case 'fr':
include_once("fr/index.php");
break;
default:
include_once("nl/index.php");
break;
}
?>
因此,当用户进入mysite.com时,它会显示nl目录中的index.php,但浏览器地址中的url会保留mysite.com,但应该是mysite.com/nl /
由于我没有这种重写规则的经验,我已经坚持了好几个小时......
提前致谢,
腹鱼
答案 0 :(得分:1)
而不是include_once
尝试使用header('Location: /nl/page.php')
或header('Location: /fr/page.php');