我对这个可以被认为是令人困惑的标题感到抱歉,但我想不出别的办法了。我需要知道多个系统级别的主级别上的.htaccess如何影响以下级别的.htaccess文件的行为;以及其他级别的.htaccess文件是如何影响非主域内的行为的。
我是从一个共享主机帐户托管多个网站。
假设cpanel文件有三种系统结构。
从public_html我有主域,这个目录包含一个.htaccess文件。然后,在三个文件结构中,我有其他域,我将其称为次要域,每个域都有自己的.htaccess。
如果次要域没有.htacess,则主域的.htaccess会影响文件三种结构下域的url行为。
我希望确保所有的www.domain.com都转到domain.com (至少从我当前的服务提供商那里),因为我和另一个人在一起,但事实并非如此。无论是哪个级别的.htaccess都不会影响到其他人)
我想把www.domain.com重定向到domain.com
主级别.htaccess通过以下代码实现了我对主域的目标:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.primarydomain.com [NC]
RewriteRule ^(.*)$ http://primarydomain.com/$1 [L,R=301]我有尝试和错误的第二域,试图实现同样的代码。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.secondarydomain.com [NC]
RewriteRule ^(.*)$ http://secondarydomain.com/$1 [L,R=301]在主域级别的.htaccess中,以及文件的第二级系统中,我无法获得所需的结果。
为了更好地编排,我添加了三个文件系统:
cpanel_account
public_html
.htaccess
index.php
index.html
secondarydomain.com
.htacess
index.php
index.html如何将www.secondarydomain.com调用从.htaccess重定向到第二个域,无论是文件的主域级别还是二级域级别?
谢谢,
更新
很好,既然我做了更多的研究,我就贴出了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/medidarydomain.com/..htacess)
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.secondarydomain.com [NC]
RewriteRule ^(.*)$ http://secondarydomain.com/$1 [L,R=301](重复是否添加此代码)
域、所有域请求(即www.anyofmydomainshostedhere.com)重定向到非www anyofmydomainshostedhere.com。
:?
发布于 2011-10-12 06:39:23
如果我正确理解了目标,您需要将secondarydomain.com重写放在secondarydomain.com文件夹中。这样做的原因是,域被直接指向该文件夹,并且从未在public_html文件夹中看到该public_html文件。
我对您提到的级联.htaccess不太乐观--这将是一个相当有趣的服务器配置,而且我不知道它是如何工作的,因为.htaccess应该是目录级的。
https://stackoverflow.com/questions/7736001
复制相似问题