【发布时间】:2013-08-03 21:20:27
【问题描述】:
我需要将特定格式的所有 URL 重写为匹配的查询字符串 URL,其他所有内容都应该转到 index.php?valid=false
我有:
RewriteRule (^[^\s]{4})/([0-9]{4})/(winter|fall|summer)/([0-9]{4})/?$ index.php?valid=true&subject=$1&course=$2&semester=$3&year=$4 [NC,L]
RewriteRule (.*)/?$ index.php?valid=false [NC,L]
第一条规则很好用:4 个字母,4 个数字,秋季或冬季或夏季,4 个数字。似乎第二条规则正在起作用,因为所有内容当前都重定向到 ?valid=false 页面。但是,即使第一个规则接受的 URL(当第二个被注释掉时)也会传递到第二个,即使它们应该被 [L] 标志停止?
我做错了吗?
谢谢!
【问题讨论】:
-
@sgroves 谢谢 - 这是一个信息链接 - 下面的答案对我有用,但该链接中的 rewritecond(或有用的流程图)可能会解决我在不同重写时遇到的另一个问题。
标签: regex apache .htaccess url-rewriting httpd.conf