.htaccess问题

时间:2011-03-10 13:09:42

标签: .htaccess

我是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 /

由于我没有这种重写规则的经验,我已经坚持了好几个小时......

提前致谢,

腹鱼

1 个答案:

答案 0 :(得分:1)

而不是include_once尝试使用header('Location: /nl/page.php')header('Location: /fr/page.php');