如何在localhost环境下禁用.htaccess的重定向规则
解决本地localhost环境下不执行域名重定向的问题
直接在现有规则前添加一条排除localhost的条件即可,修改后的完整.htaccess代码如下:
RewriteEngine On # 排除localhost环境(支持带端口的情况,比如localhost:8080) RewriteCond %{HTTP_HOST} !^localhost(:[0-9]+)?$ [NC] # 原有的子域名重定向条件 RewriteCond %{HTTP_HOST} !^domain\.co\.uk$ [NC] RewriteRule ^(.*)$ https://domain.co.uk/$1 [R=301,L]
规则说明
- 新增的
RewriteCond %{HTTP_HOST} !^localhost(:[0-9]+)?$ [NC]:当请求的主机名不是localhost(包括带任意端口号的localhost)时,才会进入后续的重定向判断。 :[0-9]+是为了兼容本地开发常用的端口号(比如8080、3000等),如果你的本地环境只用默认80端口,也可以简化成!^localhost$。- [NC]标记表示忽略大小写,确保规则对Localhost、LOCALHOST这类写法也生效。
这样修改后,本地访问localhost/domain/时会跳过重定向规则,直接访问本地项目,而线上的子域名(比如test.domain.co.uk)依然会正常重定向到主域名domain.co.uk。
内容的提问来源于stack exchange,提问作者bigdaveygeorge
相关产品推荐
相关产品推荐

