2016-11-12 8 views
1

.htaccessを使用してクエリパラメータの値から最後のスラッシュ文字を削除します。.htaccessを使用してクエリパラメータから最後のスラッシュを削除する

は、私は、次のURLがあるとします。

www.example.com/?key_=/job_category/mobile/ 

その後/job_category/mobile/から、私は最後のスラッシュを削除したいです。

最後のスラッシュを削除すると、www.example.com/snapshots/job_category/mobile.html,にリダイレクトされますが、現在の設定ではwww.example.com/snapshots/job_category/mobile/.htmlにリダイレクトされます。

私の現在の.htaccessファイルには、次のようになります。

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^key_=(.*)$ 
RewriteRule ^(.*)$ snapshots/%1.html [R=301,QSD] 

答えて

1

あなたはすべての必要な情報がすでにRewriteCondによって捕獲されたとして、RewriteRuleで何かをキャプチャする必要はありません。末尾のスラッシュを削除するには、\/*$のような式を使用します(末尾にゼロ以上のスラッシュがあります)。

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^key_=(.*?)\/*$ 
RewriteRule ^.*$ /snapshot%1.html [R=301,QSD] 
関連する問題