我正在尝试编写.htaccess和PHP脚本的组合来执行以下操作:
如果网址= http://mysite.com/XXXXXXX 重定向到http://mysite.com/subdir/index.php?var=XXXXXXX
XXXXXXX是任何字母数字字符串,长度为7个字符,不带.php扩展名。
这是我到目前为止所拥有的,
RewriteEngine On
RewriteRule ^(.*)$ index.php?code=$1
RewriteRule ^subdir/(.*)$ index.php?code=$1 [L,QSA]
非常感谢任何帮助。
更新: 感谢回复,链接有所帮助,但我认为我遇到麻烦的地方就是条件。
RewriteEngine On
RewriteCondition [HAS 7 ALPHANUM CHARS] <--HERE
RewriteRule ^(.*)$ /subdir/index.php?code=$1 [QSA,L]
答案 0 :(得分:1)
尝试简单:
RewriteEngine On
RewriteRule (^|/)([a-z0-9]{7})/?$ index.php?code=$2 [L,QSA,NC]
正则表达式(^|/)([a-z0-9]{7})/?$
确保匹配URI的最后一部分,在最后一个/
之后并且正好有7个数字/字母。
所以这些将匹配:
/123abcD
/123abcD/
/something/098eif2
/foo/bar/path/1q2w3rT