2009-10-02 13 views
28

リンクを行うための多くのトリックがあることは知っています。例えば、<a href="?query=string">はクエリ文字列を追加した後に現在のページにリンクします。ファイル名を入力するだけでクエリ文字列を削除した後、現在のページにリンクする方法はありますか?クエリ文字列なしの現在のページへのリンク

例では、foo.php?q=3ページで、foo.phpにリンクします。これを行うためのショートカットタイプの方法はありますか?ファイルの名前が何度も​​変更されるので、リンクを入力して後で編集する必要はありません。

編集: これらはPHPファイルでも、私はこの特定の問題のサーバー側の解決策を避けようとしています。

+0

p.s.アンカーについて考えている人には.....明らかにコミュニティはそれらを嫌いにして解決策として掲示している人はすべて山括弧の深みに落ちるでしょう – BozoJoe

答えて

48
href="?" 

ないあなたが後にしている正確に何 - が最後にクエスチョンマークがまだだ - しかし、機能的に同等。

+1

これは古いものですが、まだ議論の余地があり、これを行うためのサーバ側ではない唯一の方法(拡張機能と拡張機能のないURLの両方で機能する)があります。 – trnelson

2

クライアント側の同等物を$_SERVER['PHP_SELF']にしたいですか?拡張後に余分なものがなくファイルに常にリンクするもの?

私は、これはすべてのブラウザで動作するかどうかわからないんだけど、それは、Firefox 3.5で素晴らしい作品:

<a href="">Foo</a> 
+0

既存のクエリ文字列をクリアしません。 –

+0

+1 As $ _SERVER ['PHP_SELF']は実際に必要な解決策でした。 – ajcw

+1

Foo」 残念ながら、IEでは動作しません。 From:http://msdn.microsoft.com/en-us/library/cc848861%28v=vs.85%29.aspx - _ HREFが空白値(href = ""またはhref =)として指定されている場合、リンクを実行すると、現在のドキュメントが格納されているディレクトリが表示されるか、ドキュメント内の他の要素やサーバー環境によってエラーが発生する可能性があります。 –

-1

あなたが持つにしている現在のページにリンクすることができます

<a href="#">blah</a> 
+5

これは、すべてのブラウザでサーバーに対して新しい要求を実行しません。 –

+2

私はそれがどのブラウザでも新しいリクエストを実行するとは思わない。 – JJJ

14

<a href=".">を使用すると、現在のページをリロードしてクエリ文字列を削除できます。

詳細な回答はthisを参照してください。

+3

これはIE 11では動作しませんが、?そうです。 – Mint

+1

これは残念なことに、拡張子のないURLでは機能しません。これは私がこの問題に遭遇するまで独占的に使用した技術です。 – trnelson

関連する問題