1

mod_rewrite(Ubuntu Server 9.04で実行されているApache2)を使用するWebサイトにページアンカーを設定しようとしています。

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

RewriteEngine On
RewriteRule ^information.php/([A-Za-z0-9-]+)/?$ information.php?display=$1  [NC,NE]

通常のURLを使用している場合、クエリは次のようになります。http://mydomain/information.php?display = faq#cost

私はこのようなものを手に入れたいと思っています: http:// mydomain / information / faq / cost

これは可能ですか?私の理解では、modrewriteはページアンカーを無視し、ブラウザはそれを処理しますか?どういうわけかmod_rewriteを使用してアンカー情報をリクエストに含めることができると思いますが、これを文書化するものを見つけることができず、何時間も自分で書き込もうとして失敗しました。

ありがとう!

4

1 に答える 1

3

実際、結果のURLにアンカーを付けたい場合は、そうです。それは可能です。Apache configsで、#がコメントの開始をマークすることを忘れないでください。

あなたが望むものがこのようなものである場合-ユーザーは入力します

http://example.com/page/anchor
にリダイレクトされます
http://example.com/?p=page#anchor
-301リダイレクトなどを使用する必要があるため、ユーザーに対して透過的ではありません。

結論:このようなリダイレクトルールを作成することは可能ですが、完全にサーバー側で行うことはできません。したがって、次のようなURLをポイント/information/faqして使用できると思います。/information.php?display=faq

http://example.com/information/faq#foo
これはほとんどあなたが望むものであり、さらにキャッシュを台無しにすることはありません。

(おお、もう真夜中?)

于 2009-06-02T21:12:07.303 に答える