我想用php函数更改我网站的根目录。
这是我的网站(mysite.com)
本网站使用(当前根文档)并从index.php
加载
mysite.com /
index.php
folder1
folder2
现在我想打开(mysite.com)在folder1里面显示index.php。(将root更改为/ folder1 /)
我可以使用重定向,但我的地址就像这个mysite.com/folder1
但我希望这个网站(mysite.com
)使用/folder1/
作为根目录而我们想要用户(mysite.com/folder1
)
我该怎么办?在index.php
中使用的函数是什么(将folder1用作根目录)?
答案 0 :(得分:4)
如果您无法访问httpd.conf,这非常适合.htaccess使用。
RewriteEngine on
# Change yourdomain.com to be your primary domain.
RewriteCond %{HTTP_HOST} ^(www.)?yourprimarydomain.com$
# Change 'subfolder' to be the folder you will use for your primary domain.
RewriteCond %{REQUEST_URI} !^/subfolder/
# Don't change this line.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Change 'subfolder' to be the folder you will use for your primary domain.
RewriteRule ^(.*)$ /subfolder/$1
# Change yourdomain.com to be your primary domain again.
# Change 'subfolder' to be the folder you will use for your primary domain
# followed by / then the main file for your site, index.php, index.html, etc.
RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$
RewriteRule ^(/)?$ subfolder/index.php [L]
答案 1 :(得分:2)
您可以使用.htaccess更改默认加载的文件:
# Set the startfile to something else:
DirectoryIndex folder1/index.php
更改基本功能是一件愚蠢的事情* 。这让人感到困惑,特别是那些不熟悉代码的人,或者你回顾一年左右的人。从长远来看,它将减缓进展和发展。 很不行!*
* 除非你知道自己在做什么。如果您不得不问,那么您不会这样做:)
如果您非常确定要使用此功能,可以将DOCUMENT_ROOT设置为其他内容。
// Place this as high as possible in your code, like a config
$_SERVER['DOCUMENT_ROOT'].= '/folder1';
要提供更专业的方法,您可以change the document_root in the httpd.conf,并将php $ _server值设置为新值服务器范围。
答案 2 :(得分:0)
来自SO的其他一些Q& As可能有所帮助:
答案 3 :(得分:0)
如果您真的想使用php,可以使用以下内容将index.php文件放在root目录中:
<?php
header('Location: /folder1/');
?>
尽管如此,更好的方法是使用htaccess。