1

我正在使用 AltoRouter: ( http://altorouter.com/ ) 并按照安装中的建议将 .htaccess 修改为:


RewriteCond %{REQUEST_FILENAME}上的RewriteEngine !-f
RewriteRule 。索引.php [L]

这样 index.php 可以处理所有请求。我的问题是我在 cpanel 中使用插件域,当我尝试访问与插件域关联的域之一时出现内部服务器错误。

示例:我的主域是 mainsite.com。

然后我有几个网站:

cpanel 自动与 site1.mainsite.com 关联的 site1.com 并创建文件夹 mainsite.com/site1.com。因此,如果我访问 site1.com,我会在浏览器中看到 site1.com,但交付的内容将是 mainsite.com/site.com 文件夹中的内容。

如果我不使用 .htaccess 规则但我需要它来进行路由,这将有效。如果我有这个规则,我每次访问 site1.com 时都会遇到内部服务器错误(我认为这是 cpanel 规则和 .htaccess 之间的冲突)。

如何修改规则以使其仅影响主域而不影响子域?我假设这样做不会有冲突,我的问题就会得到解决。

我真的不擅长 .htaccess 和正则表达式,但如果需要我愿意学习。如果你能指出我正确的方向,我仍然会很感激。(无论是在想法中还是在可以帮助我理解这一点的好网站中)

4

1 回答 1

1

如何修改规则以使其仅影响主域而不影响子域?

您可以根据主机名添加新条件:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(?:www\.)?mainsite\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
于 2015-01-22T20:35:11.083 回答