2012-01-19 12 views
0

私は少しの検索をしましたが、解決策を見つけることができません。ここに私がしたいと思うものがあります。ユーザーのタイプ:htaccessを使用してクエリ文字列を隠してURLを書き換えるには

Case 1: www.example.com/user/profile.php?alias=bob 
Case 2: www.example.com/user/bob 

両方のようにユーザーのブラウザ上に表示される必要があります。

内部
www.example.com/user/bob 

、それは "?profile.php別名=ボブ" 現在

に行くべきです、私はhtaccessファイルに次のmod_rewriteのルールを持っています:

RewriteEngine On 
#Converting alias to query 
RewriteRule ^([A-Za-z0-9-]+)/?$ profile.php?alias=$1 [QSA,L] 

ケース2の場合はどちらに該当しますか?ケース1の場合wever、urlはまだ完全なクエリで表示されます。ケース1でも正しく表示させるにはどうすればよいですか?

答えて

0

サイトのルートディレクトリにあるhtaccessファイルに以下を追加してみてください。

RewriteEngine On 
RewriteBase/

#if the request is using profile.php 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /user/profile\.php\?alias=([^&\ ]+) [NC] 
#redirect to user/[ALIAS] 
RewriteRule . /user/%1 [L,R=301] 

#extract alias from /user/alias 
RewriteRule ^user/([A-Za-z0-9-]+)/?$ profile.php?alias=$1 [QSA,L] 
+0

かなりうまくいきませんでした。また、ケース2を壊しました...うーん.... – Skyd

+0

@Skyd profile.phpに入れるように編集しました。テストしたURLと、正しくない場合の結果をお知らせください。 –

関連する問題