我有一个适用于我的索引页的重写规则
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]
关于php - 一个 6 种场景的 url 重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277342/