这是我的.htaccess:
RewriteEngine on
RewriteBase /site
RewriteCond %{request_filename} -f
RewriteRule ^(.*) $1 [L]
RewriteRule ^([a-z]+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&u=$3 [L]
我试图以这种方式提供短网址 如果有人去www.mysite.com/johndoe htaccess将他/她发送到这个链接index.php?a = profile& u = johndoe 什么是最好的方法呢?我确实阅读了htaccess教程并尝试了不同的方法并且失败了:/
答案 0 :(得分:-1)
尝试反转条件并删除重写基数:
RewriteEngine on
RewriteCond %{request_filename} !-f
RewriteCond %{request_filename} !-d
RewriteRule ^([^/]+)/?$ /index.php?a=profile&u=$1 [L]
这样就可以了:
如果有人访问www.mysite.com/johndoe
“johndoe”与^([^/]+)/?$
匹配,并由$1
反向引用,导致:
此链接index.php?a =个人资料& u = johndoe