1

ドメインからPHPGetクエリを削除しようとしています。たとえば、を表示する代わりに、example.com/?url=1234に書き換えてexample.com/1234、クエリを非表示にしますが、削除しないようにします。私はこれが可能であることを知っており、これを行う方法について多くのチュートリアルを読んだことがありますが、私のコードは機能していません。これが私が現在試していることです:

RewriteEngine On 
RewriteCond %{QUERY_STRING} url=  
RewriteRule (.*) http://example.com/$1? [R=301]

?url=これが行っているのは、セグメントを削除するだけでなく、クエリを完全に削除することです。

4

3 に答える 3

0

あなたはそれについて間違った方法で考えています。書き換えは、クライアントに表示されるものではなく、サーバー専用のものです。

これは、クライアントがexample.com?url=1234を使用したかのようにexample.com/1234を機能させることができることを意味します。

これを実現するには、次の行を使用します。

RewriteEngine On   
RewriteRule (.*) http://example.com/url=$1 [QSA]
于 2012-04-12T09:01:19.363 に答える
0

これを確認してください-クエリ文字列のhtaccess書き換え

および Htaccessクエリ文字列の書き換え

于 2012-04-12T08:54:47.097 に答える
0

行のクエリ文字列の関連部分を抽出する必要がありますRewriteCond

RewriteEngine On
RewriteCond %{QUERY_STRING} url=(.*)(&|$)
RewriteRule (.*) http://example.com/$1%1? [R=301]

上記は、指定した他のクエリ文字列パラメータを破棄します(以下の例を参照)。指定されている場合は、ファイル名も保持されます。

例:

http://example.com/?url=1234       ---->   http://example.com/1234
http://example.com/a/?url=1234     ---->   http://example.com/a/1234
http://example.com/?url=1234&a=b   ---->   http://example.com/1234
于 2012-04-12T09:07:29.720 に答える