Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mvc-htaccess中的php路径_Php_Apache_.htaccess_Mod Rewrite_Model View Controller - Fatal编程技术网

mvc-htaccess中的php路径

mvc-htaccess中的php路径,php,apache,.htaccess,mod-rewrite,model-view-controller,Php,Apache,.htaccess,Mod Rewrite,Model View Controller,我正在尝试用mvc结构制作菜单。。 问题是我的站点位于子目录中,在我的web根目录中,如: 本地主机/子目录/ 但当我点击链接时,它会回到我的根。该菜单在模型(在momment处为静态)中调用,在关联数组中,键为链接名,值为路径名,如下所示: $this->viewModel->set("mainMenu",array("Forside" => "/home", "Hjælp" => "/help")); 我在视图文件中调用它时:

我正在尝试用mvc结构制作菜单。。 问题是我的站点位于子目录中,在我的web根目录中,如:

本地主机/子目录/

但当我点击链接时,它会回到我的根。该菜单在模型(在momment处为静态)中调用,在关联数组中,键为链接名,值为路径名,如下所示:

 $this->viewModel->set("mainMenu",array("Forside" => "/home", "Hjælp" => "/help"));
我在视图文件中调用它时:

        foreach ($viewModel->get('mainMenu') as $key =>  $values){
              echo '<a href="'. $values. '">' . $key . '</a> ';
        }
我试着用反斜杠做链接,但没用。。 我曾尝试创建没有斜杠的链接,就像我在localhost/subdir/home中一样,但当我转到localhost/subdir/home/view时, 然后单击home链接,它将转到localhost/subdir/home/home

我试过定义一个基根,但没有用。 与定义“我的目录”相同,分隔符不起作用:(


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

保持你的链接绝对,即以斜杠开头:
/home
/help

将此规则添加到您的
/DocumentRoot/.htaccess

Options +FollowSymLinks
RewriteEngine on

RewriteRule !^subdir /subdir/%{REQUEST_URI} [L,NC,R]
记住,这会出现在
子目录的父目录中

试试这个

RewriteEngine on

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

index.php
和.htaccess的位置是什么?它们是在
/subdir/
中还是在根级别?它们在subdrok中。下面提供了一个答案。它工作得不错,现在我单击它仍然发送给我的根的链接,但我可以看到视图。如果你可以查看该项目,我可能会有所帮助。你可以在以下位置下载它:…它的在根目录中的/classes/basemodel.php和/views/maintemplate.php以及ofc htacces下:)我将在回到计算机后尝试。与此同时,我编辑了我的答案,你现在能试试吗?它很有效,非常感谢:),我一直在努力解决这个问题
RewriteEngine on

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