我有一个问题,使一个子目录充当我的主域的public_html,并得到一个与该域子目录一起工作的解决scheme。
我的托pipe允许我托pipe多个网站,这一切都很好。 我在我的〜/ public_html /目录下build立了一个名为/ domains /的子文件夹,在这里我为每个单独的网站创build一个文件夹。 例如
这使我的网站不错,整齐。 唯一的问题是让我的“主要领域”适合这个系统。 这似乎是我的主要领域,与我的帐户(或Apache,或某事)有某种联系,所以我不能更改此域的“文档根目录”。 我可以为cPanel中添加的任何其他域(“Addon Domains”)定义文档根目录没有问题。 但主要的领域是不同的。
我被告知编辑.htaccess文件,将主域redirect到一个子目录。 这似乎工作很好,我的网站正常工作在家里/索引页面。
我遇到的问题是,如果我试图浏览我的主站点的图像文件夹(例如),像这样:
www.yourmaindomain.com/images/
那么它似乎忽略redirect,并显示在URL中的整个服务器目录,如下所示:
www.yourmaindomain.com/domains/yourmaindomain/images/
它实际上仍然显示正确的“索引/图像”页面,并显示我的所有图像的列表。
这里是我使用的.htaccess文件的一个例子:
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ RewriteCond %{REQUEST_URI} !^/domains/yourmaindomain/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /domains/yourmaindomain/$1 RewriteCond %{HTTP_HOST} ^(www.)?yourmaindomain.com$ RewriteRule ^(/)?$ domains/yourmaindomain/index.html [L]
这个htaccess文件看起来是否正确? 我只需要这样做,所以我的主域的行为就像一个插件域,它的子目录坚持redirect规则。
我会打电话给它的stream氓DirectorySlash 。
/images去/domain/yourdomain/images/ ,但/images/是正确的)? 在这种情况下,有三个选项:
/ ) DirectorySlash off (将让你进入双页/目录,从SEO的angular度来看不是一个好的)。 试着在你的最后一个index.html之前添加一个RewriteRule :(想起来,不知道它是否会起作用)
RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{REQUEST_FILENAME} !/$ RewriteRule ^(.*) $1/
你的问题之一是你的正则expression式:你不是逃避你的点。 这意味着它将被视为“任何angular色”而不是一个点。 代替
^(www.)?domain.tld$
你将需要拥有
^(www\.)?domain\.tld$