You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.htaccess实现URL重写且访问原始地址自动跳转到重写地址

问题原因

你写的两条规则会触发重定向循环:第一条将/contactus内部重写为contact.php后,第二条规则会再次匹配到contact.php触发301跳转,反复循环无法正常访问。

正确配置

首先确保mod_rewrite模块已开启,且站点配置中AllowOverride All已设置允许.htaccess生效,写入以下规则即可:

RewriteEngine On

# 仅匹配用户直接访问contact.php的原始请求,301跳转到简洁地址
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /contact\.php\ HTTP [NC]
RewriteRule ^contact\.php$ /contactus [R=301,L]

# 内部将简洁地址重写到实际php文件,用户无感知
RewriteRule ^contactus$ /contact.php [L]

注意事项

  • 测试阶段可先将R=301改为R=302临时跳转,避免浏览器缓存错误的301规则,验证功能正常后再改回301
  • 若站点部署在子目录,需要调整规则里的路径前缀适配子目录路径

内容的提问来源于stack exchange,提问作者sona

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:39:03