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

.htaccess重写规则问题:域名后参数无法传入GET查询

问题分析

你的Rewrite规则匹配失败的核心原因是正则表达式只匹配单个字符:^([a-zA-Z0-9])$中的括号内没有匹配数量限定符,只能匹配1个字母/数字,而城镇名是多字符的(比如nottingham),所以规则完全不生效,请求直接触发404规则跳转到index.php,自然没有town参数。

修正方案

把正则表达式改成匹配一个或多个字符,同时建议排除真实存在的文件和目录,避免误重写:

RewriteEngine On
# 排除真实存在的文件和目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 匹配域名后任意长度的字母/数字路径,传递给town参数
RewriteRule ^([a-zA-Z0-9]+)$ /index.php?town=$1 [NC,L]
ErrorDocument 404 /index.php

如果城镇名包含连字符(比如new-town),可以把正则改成^([a-zA-Z0-9-]+)$,允许连字符存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:31:59