2014-03-26 110 views
0

我想用php函數更改我的網站的根目錄。用php更改站點根目錄

這是我的網站(mysite.com)

本網站使用(當前根文件),並裝載來自index.php這樣

mysite.com/
    index.php 
    folder1 
    folder2 

現在我想,當我們打開(mysite.com)秀的index.php文件夾1的內部。(改變根/文件夾1 /)

我可以使用重定向,但我的地址會是這樣mysite.com/folder1

但使用/folder1/作爲根目錄下有這個網站(mysite.com),我們希望用戶我想(mysite.com/folder1

我應該怎麼辦?在index.php(使用folder1作爲根目錄)中使用的功能是什麼?

+0

您將需要編輯您的'apache'服務器並指向根目錄到'/ folder1'。如果你沒有訪問權限,你將不得不編輯你的'.htaccess'文件。 –

+1

你不要從PHP更改你的web服務器配置。事實上,你應該竭盡全力防止PHP修改web服務器配置(包括.htaccess文件)。否則你沒有安全保障。 – symcbean

回答

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值。

+0

我想php功能不htaccess ...在index.php中使用的php函數將根目錄更改爲/ folder1/files ... – user3464859

+0

@ user3464859另一種方法是在該目錄中使用索引的「include」。否則,您可以查看路由。 – Ohgodwhy

+0

$ _SERVER ['DOCUMENT_ROOT']。='/ folder1';沒有工作(http://donateload.tk/) – user3464859

4

這是使用的.htaccess一個非常適合,如果你不能訪問httpd.conf文件。

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] 
+0

我會將我的聲音添加到此問題的其他評論 - 如果可能,您應該通過Apache conf文件更改根目錄。如果你無法做到,這是一個不錯的選擇。我甚至會將/ folder2中的所有內容都轉移到根目錄中。儘可能簡化流程。 –

0

如果你真的想使用PHP,你可以根目錄,將index.php文件在您與此內容:

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

Althought,更好的方式來做到這一點,是htaccess的。

+0

這將直接指向/ folder1!我不想直接使用!我想改變root不直接它 – user3464859

+0

然後,htaccess是唯一正確的方法。 – makallio85