微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 针对6个场景的一个url重写规则

我有一个适用于我的索引页面的重写规则

RewriteRule ^index$index.PHP [L]
RewriteRule ^index/$index.PHP [L]
RewriteRule ^index/page/(0?[1-9]|1[0-2])$index.PHP?recordstart=$1 [L]
RewriteRule ^index/page/(0?[1-9]|1[0-2])/$index.PHP?recordstart=$1 [L]

我有6页有类似的情况.

例如.

RewriteRule ^graduate$graduate.PHP [L]
RewriteRule ^graduate/$graduate.PHP [L]
RewriteRule ^graduate/page/(0?[1-9]|1[0-2])$graduate.PHP?recordstart=$1 [L]
RewriteRule ^graduate/page/(0?[1-9]|1[0-2])/$graduate.PHP?recordstart=$1 [L]

我正在寻找一个可以匹配六个确切场景的重写,而不是重复四行六次.

谢谢

解决方法:

就像是:

RewriteRule ^(scenario1|scenario2|scenario3)$$1.PHP [L]
RewriteRule ^(scenario1|scenario2|scenario3)/$$1.PHP [L]
RewriteRule ^(scenario1|scenario2|scenario3)/page/(0?[1-9]|1[0-2])$$1.PHP?recordstart=$2 [L]
RewriteRule ^(scenario1|scenario2|scenario3)/page/(0?[1-9]|1[0-2])/$$1.PHP?recordstart=$2 [L]

感觉很脏,但如果你想排除所有其他情况,除了提到的情况.

编辑:我也在这里添加它,你可以通过检查/用一个删除2行规则?在它之后,它将匹配或不跟踪尾随/.解决方案将成为:

   RewriteRule ^(scenario1|scenario2|scenario3)/?$$1.PHP [L]
   RewriteRule ^(scenario1|scenario2|scenario3)/page/(0?[1-9]|1[0-2])/?$$1.PHP?recordstart=$2 [L]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐