2009-08-17 2 views
6

私のサイトのアドレスをブラウザ(mysite.com)に入力すると、mysite.com/index.phpにリダイレクトされます。なぜindex.htmlにしないのですか? Apache 2.2のconfファイルで変更したためです。URLのindex.php(またはindex.html)を非表示

  • 最後の "index.php"部分を非表示にしたいと思います。それ、どうやったら出来るの ?
  • index.htmlがindex.phpと異なるのでしょうか?

Googleを検索すると、www.google.com/index.htmlになりますか? ...それは美学だけのためですが、神は特定の人々にとって重要です。

+0

私は再タグ付け質問、「非表示」を削除し、「MOD-書き換え」で置き換えて、私はそれはおそらくだと思うよう関連性が高い私は間違っていると証明されてうれしいです。) –

+0

リダイレクトするとどういう意味ですか?それは外部リダイレクト(URL変更)か内部リダイレクト( '/'のリクエストは '/ index.php'と同じものを返します)ですか? – Gumbo

答えて

10

なぜmod_rewriteを使用する必要があるのか​​わかりません。私のサイトでは、index.phpを隠すことは何もしませんでした。コード内のどこにでも指していないので、www.example.com/index.php?task=forumの代わりにwww.example.com/?task =フォーラム。これは、標準的なApacheの設定で動作します。

+1

同意します。このような簡単なことのためにMOD_REWRITEは必要ありません。 –

+0

私はそれを試み、あなたに戻ってきます。 –

+0

Hmmm私はちょっと混乱しています...後でindex.phpを他のコードで参照しますが、それは問題ではありません。 mysite.comを書くと、私はApacheマシンを実行しているサーバーマシンを参照しています。 Apacheはindex.htmlを表示します。しかし、私はそれを具体的に言及しません。 –

1

http.confファイルまたはアプリケーションディレクトリ内の個々の.htaccessファイルのURLマッピングで簡単に行うことができます。 mod rewriteをオンにします。 Hereは簡単なチュートリアルです。

+0

私はあなたの答えが好きですが、私はパブロ・サンタクルーズと思想家が正しいと思います。私は私の特定の問題を解決するために深く入る必要はありません。飛行機を殺すために大砲は必要ありません。 –

+0

合意しました。もしあなたがindex.htmlだけを扱いたいなら、それは正しいです。複数の「コントロール」ページがある場合は、mod_rewriteが必要です。 –

3

リダイレクトしている場合(たとえば、HTTPヘッダーに新しい場所を送信するなど)、リダイレクトを行っているコードを変更する以外には何もできません。

あなたのウェブサーバは、Apacheの場合一方、役立つかもしれない設定ディレクティブがある:

のDirectoryIndex

あなたはそれに設定した場合:index.phpのまたはインデックスを。 htmlの場合、Webサーバーは、DirectoryIndexディレクティブが設定されているサーバー上のディレクトリにアクセスしたときに、URLを変更せずに自動的にそれらの内部ファイルにリダイレクトします。

これをSERVERFAULTに投稿すると、より良い回答が得られるはずです。

幸運。

+0

私は不明な点があるかもしれませんが、「Apacheのconfファイルで変更しました」という部分はまさにそれを意味していました。これはindex.phpに設定されています。 –

2

これは(index.phpをを表示されませんでした)私の環境で動作するように見えた:

 <form action="." method="POST"> 
     E-mail: <input type='password' size='50' name='email' /> 
     <input type='submit' value='Login' /> 
    </form> 
関連する問題