php-Htacess重写规则-没有尾部斜杠就无法工作

所以我有以下重写规则:

RewriteRule ^([a-z0-9_\-]+)(\.PHP)?$index.PHP?page=$1 [NC,L,QSA]
RewriteRule ^([a-zA-Z0-9_-]+)/$index.PHP?shop=$1&page=index [NC,L,QSA]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z_-]+).PHP$index.PHP?shop=$1&page=$2 [NC,L,QSA]

一切似乎都很好,如果我转到domain.com/shop/,则工作正常并显示索引.如果我转到domain.com/shop/about.PHP,那么它可以完美运行.

唯一不起作用的是,我在没有任何斜杠的情况下转到domain.com/shop时,它没有显示任何错误.

有谁知道如何解决这一问题?添加到我的代码中可能很简单,但是我似乎无法弄清楚.

谢谢!

解决方法:

在第二条规则中,添加?在斜杠后:

RewriteRule ^([a-zA-Z0-9_-]+)/?$index.PHP?shop=$1&page=index [NC,L,QSA]

这将使尾随/可选

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...