用php更改站点根目录

时间:2014-03-26 15:11:23

标签: php .htaccess

我想用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用作根目录)?

4 个答案:

答案 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)

答案 3 :(得分:0)

如果您真的想使用php,可以使用以下内容将index.php文件放在root目录中:

<?php
  header('Location: /folder1/');
?>

尽管如此,更好的方法是使用htaccess。