【发布时间】:2016-04-03 22:05:31
【问题描述】:
我有以下 htaccess:
Options -Multiviews -Indexes +FollowSymLinks
RewriteEngine On
RewriteRule ^(pageA|pageB|pageC|pageD)(?:\/(\d+)\/?(.*))?$
./$1/?var1=$1&var2=$2&var3=$3 [NC,QSA,L]
以下 URL 可以正常工作,因为在文件夹层次结构中,文件夹名称为 (pageA,pageB....),每个文件夹中都有一个 index.php 文件,并且正在处理 URL 中传递的 id 以查看正确的页面内容:
www.domain.com/pageA/
www.domain.com/pageA/12/title-of-item-number-12
当我只访问文件夹名称并删除尾部斜杠时会出现我的问题:
www.domain.com/pageA
请求的页面正确加载,但查询字符串将附加到 url,如下所示:
www.domain.com/pageA/?var1=pageA&var2=&var3=
如何防止查询字符串被拖到 URL 的末尾?
【问题讨论】:
标签: php apache .htaccess mod-rewrite