RewriteEngine On
RewriteBase /
RewriteRule ^sample-([a-z][a-z]).php /state.php?m=$1
RewriteRule ^sample-([a-z^-]+).php /city.php?m=$1
我的htaccess文件中有两个正则表达式,用于查找状态(两个字母字符,例如“sample-tx.php”)和city(字母字符和破折号的任意总和,例如“sample-new” -bedford.php“)。
这些表达现在很有用,但我需要帮助两件事:
对于状态表达式,我如何省略“az”和“tx”,所以当有人去“sample-az.php”或“sample-tx.php”时,它们不会被重定向?
与#1相同的问题,除了这个城市的时间。我怎么会省略“休斯顿”和“新贝德福德”,所以当有人去“sample-houston.php”或“sample-new-bedford.php”时,他们没有被重定向?
答案 0 :(得分:0)
您可以使用(?!...)
negative assertions。
RewriteRule ^sample-(?!az|tx)([a-z][a-z]).php /state.php?m=$1
在字符匹配组之前立即写入它们。它对城市来说也是一样的。