我有一个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.sherwoodmarine.ca 更新此域名的工作现在因为我在CPANEL中添加了子域名
我不需要在其他网站上添加子域名,但htaccess会照看它
答案 0 :(得分:1)
该域的虚拟主机定义可能不允许通过.htaccess覆盖设置。 显示Apache配置中的虚拟主机设置。
答案 1 :(得分:-1)
请查看此处的教程:https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
(这不是与Ubuntu相关的,而是针对Apache的。)
如果设置了AllowOverride指令,则会考虑使用htaccess文件。