Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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
Php .htaccess是否使文件夹充当根目录?_Php_Apache_.htaccess_Mod Rewrite_Directory - Fatal编程技术网

Php .htaccess是否使文件夹充当根目录?

Php .htaccess是否使文件夹充当根目录?,php,apache,.htaccess,mod-rewrite,directory,Php,Apache,.htaccess,Mod Rewrite,Directory,有没有办法让.htaccess告诉文件夹作为最低级别?我的意思是,假设你有这样一个文件夹: /about/ /contact/ /css/ /images/ .htaccess index.php header.php /关于/ /接触/ /css/ /图像/ .htaccess index.php 页眉 如果他们在/contact/index.php,那么如果我有进入主页,一切正常,但如果他们在实际的主页上,它将尝试进入更低的目录 原因是我试图测试子文件夹中的站点。直接回答您的问题,答案是否。

有没有办法让.htaccess告诉文件夹作为最低级别?我的意思是,假设你有这样一个文件夹:

/about/ /contact/ /css/ /images/ .htaccess index.php header.php /关于/ /接触/ /css/ /图像/ .htaccess index.php 页眉 如果他们在
/contact/index.php
,那么如果我有
进入主页,一切正常,但如果他们在实际的主页上,它将尝试进入更低的目录


原因是我试图测试子文件夹中的站点。

直接回答您的问题,答案是否。读取.htaccess时,路径已转换为目录

如果要更改根目录,必须在
httpd.conf
中执行(或者将根目录中的所有请求重写到目标目录)。如果您想拥有多个根(在不同的域下),则必须使用虚拟主机(同样,仅在
httpd.conf
中)

当站点不在根目录中时,也可以使其正常工作

  • 正确使用相对路径(“/contact/index.php中的“../index.php”和根网页中的“index.php”)。这不是一个好的选择
  • 使用绝对路径,但使用相对于服务器根的网站路径作为前缀。最简单的方法是在包含在所有脚本中的文件中为此设置一个常量

这有点不对劲。。。但是您可以创建/home文件夹,并在其中放置index.php的副本。同样,这是一个完全的黑客,但它应该解决你试图做什么


另一个要考虑的是在.HTAccess中使用MODYRead来查找/返回根目录的路径和路径。

ON/CONT/NOXX.PHP,可以使用

链接到主索引。
<a href="/index.php">Link</a> 


你能详细说明一下吗?你说的“那么如果我有家可以进入主页”是什么意思?这个问题还不是很清楚,但是他不能这么做的原因是因为他在一个子目录中测试站点,这意味着链接的目标必须是“/subdir/index.php”(这与生产环境不匹配)。所以使用一个定义为siteRoot=“/subdir/”,然后是您使用的任何链接或引用。