我需要使用用户登录重写URL,并使用Zend Framework。 ZF项目的.htaccess如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
如何添加规则,重写
http://yourdomain.com/user/TOMMY
到
http://yourdomain.com/user/?login=TOMMY
? “TOMMY”是用户登录的地方。
重要提示:重写后,浏览器中的网址无需更改。
我可以添加下一条规则:
RewriteRule ^user/([a-zA-Z0-9]+)$ /user/?login=$1 [L,R]
但它不正确,因为服务器将浏览器重定向到其他页面。 TNX。
答案 0 :(得分:0)
您需要更改其他规则,以便它不会重写以“/ user /”开头的URI
RewriteCond %{REQUEST_URI} !^/user/
RewriteRule ^.*$ index.php [NC,L]
现在您可以使用您的规则重写/ user请求:
RewriteRule ^user/([a-zA-Z0-9]+)$ /user/?login=$1 [L]
除了您不希望括号中有R
,因为它会重定向浏览器并更改地址栏中的内容。