1

私はwww.example.com(実際の名前ではありません)と言うウェブサイトを持っています。このウェブサイトで私は持っています

index.php(ログイン前のWebサイトの最初のページ)およびhome.php(ログイン後のWebサイトの最初のページ)

DirectoryIndex index.php(.htaccess内)として、index.phpがアドレスバーに表示されません。ただし、ログインすると、リンクの一部としてhome.phpが表示されます。

URLに「home.php」を表示したくありません。.htaccessでいくつかのURL書き換えルールを使用することを考えていましたが、行き詰まりました。

これに対する簡単な解決策はありますか?

必要に応じて、他のシステム/サーバー関連の情報が必要な場合はお知らせください。

//編集このアイデアはfacebook.comから入手しました。

4

4 に答える 4

2

このようなことを行う1つの方法は、phpスクリプトである種のコントローラーを使用することです。スクリプトの最初でログインしているかどうかを確認し、回答に応じて適切なコードが必要です。そのようなことには.htaccessは必要ありません!

いつでもhome.phpの名前/homeを、単純なリダイレクトを使用するようなより良いサウンドに変更できます。

RewriteRule ^home/?$ home.php [NC,L]

yoursite.com/homeを参照すると、home.phpページが表示されます。明らかに、これはログインしていなくてもアクセスできますが、あなたが示唆しているように、ログインしていない場合はリンクを表示する予定はありません!

于 2012-09-15T20:58:54.567 に答える
1

最も簡単な方法は、ログアウト/ログイン状態に応じてor (あなたの場合)index.phpを含む単一のランディングページを持つことです。public.phpprivate.phphome.php

于 2012-10-01T11:28:32.087 に答える
0

おっしゃるように、Webサーバーリダイレクトを使用することは回避策にすぎません。

あなたの問題はPHPスクリプト自体です。もちろん、URI設定とDirectoryIndexファイルを認識していないため、URLターゲットとしてhome.phpを使用します。

したがって、2つのオプションが残されています。

  • Webサーバーをにリダイレクト/home.phpする/
  • PHPスクリプトを調整してポイントするようにしますhome.php
  • PHPスクリプトを調整して、いつhome.phpロードされるか、URIがであるかどうかを確認し/home.phpてから、にリダイレクトします。/

最良の選択肢が何であるかを言うのは難しいです。ただし、URI設定(ディレクトリインデックス)は、phpファイル名よりも変更される可能性が高くなります。したがって、私はWebサーバー構成に行きます–への303リダイレクト/

于 2012-09-15T21:10:35.180 に答える