我正在使用AltoRouter :( http://altorouter.com/)我根据安装中的建议修改了.htaccess:
重写发动机
RewriteCond%{REQUEST_FILENAME}! - f
重写规则。 index.php [L]
这样index.php可以处理所有请求。我的问题是我在cpanel中使用插件域,当我尝试访问与插件域关联的域之一时,我遇到了内部服务器错误。
实施例: 我的主要域名是mainsite.com。
然后我有几个网站:
site1.com,cpanel自动与site1.mainsite.com关联,并创建文件夹mainsite.com/site1.com。因此,如果我访问site1.com,我会在浏览器site1.com中看到,但提供的内容将是mainsite.com/site.com文件夹中的内容。
如果我不使用.htaccess规则但是我需要它来进行路由,这是有效的。如果我有这个规则,每次访问site1.com时都会出现内部服务器错误(我认为这是cpanel规则和.htaccess之间的冲突)。
如何修改规则以便它只影响maindomain而不影响子域?我假设通过这样做不会发生冲突,我的问题就会解决。
我非常擅长.htaccess和正则表达式,但我愿意在必要时学习。如果你能指出我正确的方向,我仍然会很感激。 (无论是在想法还是在可以帮助我理解这一点的好网站上)
答案 0 :(得分:1)
如何修改规则以便它只影响maindomain而不影响子域?
您可以根据主机名添加新条件:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?mainsite\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]