4

現在、変数を取得して新しい URL に挿入することで、URL をリダイレクトしています。そのようです:

RewriteCond %{QUERY_STRING} &pid=([0-9]*)$
RewriteRule ^vault/displayimage\.php$ photos/%1/? [R=301,L]

残念ながら、一部のリンクには必要のない古いシステムのハッシュタグが含まれているため、それらを使用せずにリダイレクト (または削除) したいと考えています。元。- 上記のリダイレクトでは、次のようなものを取ります

/vault/displayimage.php?album=5&pid=10#top_pictures

にリダイレクトする

/photos/10/#top_pictures

そして、私はそれがただあることを望みます

/photos/10/

ヒントをありがとう!

4

2 に答える 2

5

ロケーション ハッシュはブラウザにのみ存在し、サーバーには送信されません。したがって、書き換えルールでそれらに影響を与えることはできません。

これが、人々がそれらを使用しないように忠告する理由の 1 つです。

URL フラグメントと 302 リダイレクトも参照してください。

于 2012-12-09T21:25:53.070 に答える
1

あなたが使用することができます

RewriteRule ^vault/displayimage\.php$ photos/%1/#? [R=301,L,NE]

これは Chrome、Safari、Opera では機能しますが、Firefox では機能しません。現時点では IE をテストできません。

#また、URL で終わることにも注意してください。これは よりも優れていますが#top_pictures、完全にクリーンではありません。

これを本当に解決する唯一の方法は、JavaScript を使用することです。

于 2012-12-09T20:54:33.017 に答える