.htaccess在一个域上工作但不在另一个域上工作

时间:2013-11-28 17:46:19

标签: php .htaccess

我有一个htaccess文件,将所有网址和子域重定向到index.php。

它在一个域上正常工作,但在另一个域上没有。唯一的区别是一个域是.ca而另一个域是.com。

它们都托管在同一台服务器上。这是我的访问文件,如果有人可以告诉我这个文件中是否有什么东西引起了问题,我将非常感激。

由于

RewriteEngine on
#this rule removes www from the URL if its used
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#this rule handles the subdomains
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.(.*)$ [NC]
RewriteRule ^(.*)$ index.php[L]

#this rule handles redirecting all addresses to index.php
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php

适用于

http://admin.kaalaphp.com

http://admin.rtbstats.com

但不是

http://admin.sherwoodmarine.ca 更新此域名的工作现在因为我在CPANEL中添加了子域名

我不需要在其他网站上添加子域名,但htaccess会照看它

2 个答案:

答案 0 :(得分:1)

该域的虚拟主机定义可能不允许通过.htaccess覆盖设置。 显示Apache配置中的虚拟主机设置。

答案 1 :(得分:-1)

请查看此处的教程:https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles

(这不是与Ubuntu相关的,而是针对Apache的。)

如果设置了AllowOverride指令,则会考虑使用htaccess文件。