2011-11-14 10 views
0

ユーザーのログイン情報をURLに書き換える必要があります。私はZend Frameworkを使用しています。 ZFプロジェクトの .htaccessファイルは以下のとおりです。.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/?login=TOMMY 

に書き換え

http://yourdomain.com/user/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を入れたくありませんが、それはブラウザをリダイレクトしてアドレスバーの内容を変更するためです。