2017-09-11 13 views
10
私は

隠す親ディレクトリ/ WWW

はのは、URLがこのwww.mydomain.com/project/webのように見えるとしましょう、私のすべてのスクリプト、PHP、CSSなどでフォルダを含むプロジェクト、およびindex.htmlをアップロードしています

親フォルダ「プロジェクト」インサイド

/index.htmlが、私のすべてのファイルが見えると、彼らは単に

質問www.mydomain.com/project/入力した場合(これは、彼らはいけない)をダウンロードして簡単にアクセスできます: 親フォルダとドキュメントをすべて隠して、/index.htmlにアクセスできるようにする方法はありますか?

私のサーバーはApacheではありません。したがって、.htaccessファイルをセットアップしたり、隠れ/リダイレクトして404エラーページを返すようなルールを構築することはできません。

+2

[ウェブサイトのフォルダ/ディレクトリファイルを非表示にする最適な方法は何ですか](https://stackoverflow.com/questions/19439348/what-is-the-best-way-to-hide- a-websites-folder-directory-files) –

+0

私のサーバーはApacheではないので、.htaccessファイルを設定したり、隠れ/リダイレクトして404エラーページを返すようなルールを構築することはできません。 – Mykita

+2

実行中のWebサーバー*は何ですか? – j08691

答えて

7

プロジェクトフォルダまたはアクセスしたくない他のフォルダにindex.htmlを設定できます。

それらのindex.htmlページでは、リダイレクトを追加して、ユーザーをあなたの真のホームページにプッシュすることができます。あなたは、私はまだ最善の方法は、.htaccessを使用することであると思うindex.html

<meta http-equiv="refresh" content="1; url=www.mydomain.com/project/web/"> 
     <script type="text/javascript"> 
      window.location.href = "www.mydomain.com/project/web/" 
     </script> 

の頭の中でこのコードを配置します。しかし、他に選択肢がなければ、これはフォルダベースのアクセスでも機能します。

これは実際には、あなたのサーバーは、Apacheなるようwww.mydomain.com/project/file.txt

+0

ここにメタタグの役割は何ですか?どのようにURLで動作するのですか? – bhansa

+1

@bhansaこのHTMLスニペットは、実際には2つの異なるリダイレクトです。なぜ2つ?ただ二倍にする。たとえば、ユーザーがJavaScriptをブロックする可能性があるため、メタタグがフォールバックするとリダイレクトが処理されます。そのメタタグについてもっと知りたいのであれば、私はこのリソースを見るでしょう:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta –

+0

私のためにそれをクリアしてくれてありがとう、didn私たちがメタでURLを使うことができるのは分かりません。 – bhansa

2

として直接ファイルにアクセスしてから人々を防ぐことはできませんでしょう。

これは彼らのドキュメントからです:

古いものと新しいWebサーバの違いは何ですか? 新しいWebサーバ上のオペレーティングシステムは、Debian 7 WheezyからDebian 8 Jessieを実行しています。

ApacheはApache 2.2からApache 2.4にアップグレードされました。 Webhotelで独自の.htaccess-file(特にaccesscontrol)を実行している場合は、これをアップグレードする必要があります。詳細は、Apache-documentationを参照してください。

suPHP(mod_suphp)ではなく、uWSGIを使用してPHPを実行しています。

ドキュメントへのリンク:FAQ

リンクはApache 2.4 Apache 2.4

0

ためrewrite_modするには、この

に取り組むためにいくつかの方法が、あなたはLaravelの設定、ないようにフォルダ構造を使用して試すことができますがありますMVC(Model-View-Controller)アーキテクチャを使用すると、特定の要求のみを表示するように制限できます。

RESTパターンに続きます。誰かが

mydomain.com/project //Returns 404 error 

に行く場合は/プロジェクトのためのコントローラは、それが定義されていない場合にのみ、あなたが

Route::get('project', 'This is the project page'); 
ようなプロジェクトビューを定義した場合、それは、

同様に404エラーがスローされます、定義する必要があります

これは誰かが/ projectディレクトリにアクセスする唯一の方法ですが、RESTパターンについて学び、MVC/MTV責任駆動型設計に従うことをお勧めします。

0

あなたのサーバは、少なくともあなたの質問に従って、PHPを実行しているようです。これはあなたが何か間違ったことをした可能性が最も高いことを意味します。しかし、Voloshinがコメントしたように、あなたはあなたの質問を拡張する必要があります。正直なところ、PHPをスキャンして、 "index.html"の代わりに "./"というリンクがあるかどうかを確認してください。そこにそのようなものがない場合は、<a href="link" /> link </a>タグをすべて確認して、あなたが犯していないことを確認してください。 すべてのコードで最高!

1

私の考えを試すことができます。

  1. あなたがprojectフォルダ、例えば、アクセスにユーザーをたくないフォルダの内部index.htmlindex.phpファイルを作成します。ユーザーがwww.mydomain.com/projectにアクセスしてコンテンツを見ると、index.htmlが表示されます。 OR
  2. phpまたはJavaScriptを使用してindex.htmlにユーザーをredirectが条件を作成します。
関連する問題