如何通过.htaccess实现带action参数的index.php请求跨域带参重定向
.htaccess 重定向规则配置
首先确认Apache已启用mod_rewrite模块,在站点根目录的.htaccess文件中添加如下规则即可:
RewriteEngine On # 匹配请求路径为index.php且查询参数包含action的场景 RewriteCond %{REQUEST_URI} ^/index\.php$ RewriteCond %{QUERY_STRING} (^|&)action= [NC] # 重定向到目标域名,保留原有路径和全部参数 RewriteRule ^(.*)$ https://www.other-domain.com/$1 [L,R=302,QSA]
规则说明
- 第一条
RewriteCond限定仅请求路径严格为/index.php时才触发后续判断,排除站点内其他页面的请求 - 第二条
RewriteCond的正则(^|&)action=用于精准匹配查询参数中存在action参数的场景,避免误匹配参数名包含action的其他参数(如xxaction=),[NC]标识表示忽略参数名大小写,不需要可删除 - 规则末尾的
QSA标识会自动保留原有所有查询参数,无需手动拼接 - 示例使用
R=302临时重定向,确认规则运行无误后可改为R=301永久重定向,会被搜索引擎收录新地址 [L]标识表示匹配到本条规则后不再执行后续其他重定向规则,避免规则冲突
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

