2013-12-18 42 views
1

我试着使菜单中的MVC结构.. 的问题是,我有网站的子目录,在我的网站根目录,如:PHP路径

本地主机/子目录/

但是当我点击我的链接它回到我的根。菜单被称为一个模型(在momment静态),在一个关联数组,其中关键是链接名称,和值是路径名,例如:

$this->viewModel->set("mainMenu",array("Forside" => "/home", "Hjælp" => "/help")); 

我在通话中时它视图文件:

 foreach ($viewModel->get('mainMenu') as $key => $values){ 
       echo '<a href="'. $values. '">' . $key . '</a> '; 
     } 

我的.htaccess文件:

Options +FollowSymLinks 
RewriteEngine on 



RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L] 

我试图让我用一个反斜杠环节,即这么想的工作.. 我试图让没有链接斜线,工作als ong,因为我在localhost/subdir/home,但是当我去localhost/subdir/home/view, 并点击home链接,它只是去localhost/subdir/home/home

我已经试过定义一个BASE_ROOT,不工作。 ,并与形成我DIRECTORY_SEPARATOR不工作:(

对不起我的英语不好一样,我真的希望有人能帮助我在这里

+0

什么是'index.php'和的.htaccess的位置?他们在'/ subdir /'或根目录下? – anubhava

+0

他们在子目录 – Cruelcrome

+0

好的在下面提供了一个答案。 – anubhava

回答

2

保持你的链接绝对即以斜线起:/home/help

添加这条规则在您的/DocumentRoot/.htaccess

Options +FollowSymLinks 
RewriteEngine on 

RewriteRule !^subdir /subdir/%{REQUEST_URI} [L,NC,R] 

[R请记得这正好在subdir

+0

好吧,它的工作有点,现在然后我点击链接它仍然发送给我的根,但我可以看到的意见..我可能会帮助,如果你可以看看该项目..你可以下载它在:https: //github.com/ndavison/Nathan-MVC ..其在/classes/basemodel.php下和/views/maintemplate.php和ofc htacces在根:) – Cruelcrome

+0

我会尝试,一旦我回到我的电脑。同时我编辑了我的答案,你现在可以试试吗? – anubhava

+0

史诗它的工作非常感谢:),我一直在努力与此 – Cruelcrome

0

父目录试试这个

RewriteEngine on 

RewriteRule ^(.*)$ /ocalhost/subdir/$1 [L]