2011-10-12 76 views
0

我對自己也算是一個令人困惑的標題遺憾;但認爲沒有其他選擇。而且我需要知道如何在多級文件的三級系統級別的主級上.htaccess影響以下級別的.htacces文件的行爲;以及來自其他級別的.htaccess文件如何影響非主域中的行爲。共享主機.htacess主域範圍內的.htaccess

我接待來自一個共享的託管帳戶多個網站。

假設的cPanel文件中的三個系統結構。

從我的public_html有主域,這個目錄包含一個.htaccess文件。然後,在三個文件結構中,我有其他域,我將它稱爲二級域,並且每個都有自己的.htaccess如果一個二級域沒有.htacess,主域的.htaccess會影響該域中的.htaccess

域的url的行爲向下的文件三結構。

我想確保所有www.domain.com都會轉到domain.com(至少是從我當前的服務提供商處獲得;因爲我與另一個服務提供商在一起,但情況並非如此。其他)

我想重定向www.domain.com到domain.com的

初級水平的.htaccess達到我的目標,通過下面的代碼的主域:

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www.primarydomain.com [NC] 
RewriteRule ^(.*)$ http://primarydomain.com/$1 [L,R=301] 

而且我有二級域名嘗試訪問的嘗試和錯誤hieve相同的代碼

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www.secondarydomain.com [NC] 
RewriteRule ^(.*)$ http://secondarydomain.com/$1 [L,R=301] 

內是主域LEVE內的.htaccess,而文件中的三個系統正的第二個層次,我無法得到期望的結果

爲了更好ilustration我添加三種文件系統:

cpanel_account 

    public_html 
     .htaccess 
     index.php 
     index.html 
     secondarydomain.com 
     .htacess 
     index.php 
     index.html 

我如何可以重定向www.secondarydomain.com調用從的.htaccess到secondarydomain是否主域級別或文件中的三個結構的二級域級別?

謝謝

[更新]

好,好,我張貼的問題B/C,現在我做更多的研究,我發現:

,我期待在一個的的.htaccess的一個共享的託管帳戶,我發現了第一級的public_html以下修改.htacess代碼

# -FrontPage- 
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* 
<Limit GET POST> 
order deny,allow 
deny from all 
allow from all 
</Limit> 
<Limit PUT DELETE> 
order deny,allow 
deny from all 
</Limit> 
AuthName PrimaryDomain.com 
AuthUserFile /home/USER/public_html/_vti_pvt/service.pwd 
AuthGroupFile /home/USER/public_html/_vti_pvt/service.grp 

<files *.js.gz> 
    AddType "text/javascript" .gz 
    AddEncoding gzip .gz 
</files> 
<files *.css.gz> 
    AddType "text/css" .gz 
    AddEncoding gzip .gz 
</files> 
RewriteEngine on 
#Check to see if browser can accept gzip files. 
ReWriteCond %{HTTP:accept-encoding} gzip 
RewriteCond %{HTTP_USER_AGENT} !Safari 
#make sure there's no trailing .gz on the url 
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$ 
#check to see if a .gz version of the file exists. 
RewriteCond %{REQUEST_FILENAME}.gz -f 
#All conditions met so add .gz to URL filename (invisibly) 
RewriteRule ^(.+) $1.gz [QSA,L] 

而且是否添加或不此代碼到第二級域級別(即的public_html/secondarydomain.com/.htacess)

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www.secondarydomain.com [NC] 
RewriteRule ^(.*)$ http://secondarydomain.com/$1 [L,R=301] 

(REPEAT i是否添加此代碼或不)

的域,其中所有域請求(即www.anyofmydomainshostedhere.com)被重定向到非www anyofmydomainshostedhere。com

:?

回答

1

如果我正確理解目標,則需要將secondarydomain.com重寫放在secondarydomain.com文件夾中。原因是域直接指向該文件夾,並且從未在public_html文件夾中看到.htaccess文件。

我對你提到的級聯.htaccess的事情不太積極 - 這將是一個相當有趣的服務器配置,我不知道如何工作,因爲.htaccess應該是目錄級。

+0

你真令人厭惡,我的完美,層疊的術語適合鞋子。但舉例來說,我問主機服務提供商有關www重定向到非www,然後修改後的.htaccess出現在主域(查看更新後的帖子,b/c註釋區域不允許良好的文本格式)所以,在我的情況下,級聯是絕對的發生,除非你告訴我,否則從 – IberoMedia

+0

以上的更新我很困惑。您在更新中發佈的代碼是否是最後一個代碼塊和整個.htaccess文件?這可能是您的託管公司在服務器設置或httpd.conf中更改了某些內容。我不完全確定此時發生了什麼,但我不相信.htaccess規則應遞歸應用。 –

+0

是的,發佈在更新中的代碼除了最後一個塊被放置在我的主機帳戶的第一級(即public_html/.htaccess),並且在我向託管公司詢問我的重定向不起作用之後出現。正如我從apache/.htacess規範中讀到的,我明白服務器管理員可以爲三個文件.htaccess行爲設置限制;或者你如此合理地稱爲「級聯」http://httpd.apache.org/docs/current/howto/htaccess.html – IberoMedia