2011-11-14 42 views
0

我需要用用戶登錄重寫URL,並使用Zend Framework。 的.htaccess ZF項目是如下:.htaccess - 重寫URL中的用戶登錄

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」是用戶登錄的地方。

重要說明:重寫後,瀏覽器中的URL將保持不變。

我可以添加一條規則:

RewriteRule ^user/([a-zA-Z0-9]+)$ /user/?login=$1 [L,R] 

但其不正確的,因爲服務器重定向瀏覽器到其他頁面。 Tnx。

回答

0

您需要更改其他規則,以便它不會重寫的URI以「/用戶/」開頭

RewriteCond %{REQUEST_URI} !^/user/ 
RewriteRule ^.*$ index.php [NC,L] 

現在,您可以使用您的規則重寫/用戶請求:

RewriteRule ^user/([a-zA-Z0-9]+)$ /user/?login=$1 [L] 

除了你不想在括號中的R,因爲它會重定向瀏覽器,並改變地址欄中的內容。