如何用.htaccess将带id参数的view路径URL重写为简洁格式
解决.htaccess URL重写问题
你的规则核心问题是第一条重写仅截断了路径,既没指向目标文件index.php,也没传递id参数。下面是修正后的完整规则:
RewriteEngine On # 处理account/new/prescriptions/view/数字路径,传递id参数到index.php RewriteRule ^account/new/prescriptions/view/(\d+)$ account/new/prescriptions/view/index.php?id=$1 [L] # 隐藏其他请求的.php后缀 RewriteCond %{DOCUMENT_ROOT}/$1.php -f RewriteRule ^(.*?)/?$ $1.php [L]
规则说明:
- 第一条规则:精准匹配
account/new/prescriptions/view/后接数字的路径,将其内部重写到view/index.php,同时把捕获到的数字作为id参数传递给PHP文件。[L]标记确保这条规则匹配后不再执行后续规则,避免冲突。 - 第二条规则:保留你原本的需求,自动为存在的PHP文件隐藏后缀,不影响其他正常路径的访问。
现在直接访问mydomain.com/account/new/prescriptions/view/61312,服务器会自动映射到view/index.php?id=61312,完全实现你想要的URL美化效果。
内容的提问来源于stack exchange,提问作者Designer
相关产品推荐
相关产品推荐

