2015-05-06 95 views
0

我需要使用「www.domain.com/public」作爲「www.domain.com」,並且拒絕訪問「public_html /」中的所有其餘目錄。 目前,我有這個在我的.htaccess:使用.htaccess將根重定向到子文件夾

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteRule ^(/)?$ public [L] 

這工作得很好,但我需要它是未知的領域,因爲它是爲將在幾個域中運行框架。

我想知道是否有辦法做到這一點。 預先感謝您。

+0

爲什麼不重新定義你的網站的文檔根目錄爲'/ a/b/c/site/public'而不是'/ a/b/c/d/site'? –

+0

,因爲它應該是服務器和域不可知的,我希望它可以在任何域的大多數服務器上開箱即用。 – BisaZ

回答

0

很多研究,我想出了這個之後魅力加我添加路由。 我可以移動包含.htaccess arround的文件夾,它仍然可以工作。

1

你需要做的是設置它,使「博客」或「公共」(你的問題使用兩個不同的子文件夾)或其他任何文件作爲你的文檔根目錄。

如果您沒有訪問您的服務器的配置文件,那麼你可以嘗試這樣的:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$ 
    RewriteRule ^(.*)$ %2public/index.php?url=$1 [QSA,L] 
</IfModule> 

就像一個:

RewriteEngine On 
RewriteCond $1 ^blog/ 
RewriteRUle ^(.*)$ /blog/$1 [L] 
+0

謝謝。我嘗試過但沒有成功。唯一的區別是,現在「www.domain.com/public」給了我一個404和「www.domain.com」仍然顯示項目目錄。 – BisaZ

相關問題