如果域名匹配,则将所有流量重定向到单个页面

如果域名匹配,则将所有流量重定向到单个页面

我有一个简单的托管帐户,文件夹结构如下:

/ (web root)
|
|-domain1
|-domain2
|-domain3
|
...

由于正在进行一些服务器迁移,我需要一个指向 Web 根目录的真实域名,不管有domain0.com没有www

index.php我需要一个 .htaccess 文件,当你访问时强制所有访问页面http://domain0.com/例如,你将无法domain1's通过加载来呈现网站http://domain0.com/domain1/,而是被迫转到http://domain0.com/index.php

我尝试过自己编写,但错误的重定向不断导致服务器崩溃。有什么帮助吗?

答案1

您自己的重定向很可能以递归方式重定向到 index.php。您需要阻止该脚本的规则,以便它不会在该页面请求上运行,例如:

RewriteCond %{HTTP_HOST} ^(www\.)?domain0\.com$
RewriteCond %{REQUEST_URI} !=/index.php
RewriteRule ^ /index.php [L,R]

这应该放在任何冲突的 RewriteCond/Rule 之上,这样它们就不会干扰重定向。

子目录中的任何 .htaccess 文件都会默认删除此规则,并且不会执行重定向。要修复这些问题,您必须再次向它们添加规则,或将它们设置为从父 .htaccess 文件继承,例如:

RewriteOptions inherit

相关内容