2016-03-29 16 views
0

私はこれらの措置を講じた:htaccessがlocalhostで動作しないのはなぜですか?

のLoadModuleのrewrite_moduleモジュール/ mod_rewrite.so "すべてから否定する" で作成した.htaccessファイルと空白行
  • リスタートのApache 2.4
  • httpd.confで有効
    1. 私はこの.htaccessファイルを含むフォルダに移動するとき

    しかし、(ローカルホスト/アップロード/)、私はそれに他のファイルを参照してください。

    /アップロード/

    親ディレクトリ

    インデックス...リストは

    私はそれをどのようなことが間違っているとどのように修正することができますに行きますか?

    <Directory /> 
        AllowOverride All 
        Deny from all 
    </Directory> 
    

    そして、この行がhttpd.confでコメント解除された

    LoadModule rewrite_module modules/mod_rewrite.so 
    

    すべての残りの部分は変更されないままとした

    EDITは

    これは、.htaccessファイルは、今どのように見えるかですデフォルト。

  • +0

    あなたは '.htaccess'スタイルファイルを解釈するために、あなたのホストを伝えるのを忘れていました。 apacheの 'AllowOverride'コマンドを見てください。 – arkascha

    +0

    また、実際に '.htaccess'スタイルファイルを使用する必要があるかどうか考えてみたいと思います。代わりに、あなたのコマンドをホスト構成に入れないでください。 '.htaccess'形式のファイルは、エラーが発生しやすく、信頼性が低いと知られています。デバッグが難しく、サーバを遅くする原因となります。これらは、ホストの設定を制御していないユーザー(安価なWebスペースプロバイダの場合が多い)のためにのみ提供されています。 – arkascha

    +0

    .htaccessで何十種類ものコマンドを試しましたが、どれも動作していません – Jacobian

    答えて

    2

    上記のコメントで説明したように、まず.htaccessスタイルファイルの解釈を有効にする必要があります。あなたがそれをする前に、彼らは単に無視されます。

    このApacheの場合は、AllowOverrideというコマンドがあります。ホスト構成のセクションの中に配置します。このセクションには、これらのファイルを解釈する場所に適用するルールが定義されています。だから、のようなもの:

    Order deny,allow 
    Deny from all 
    

    今自分自身をそれをしようとせず限り私が言うことができるよう、動作するはずです:

    Listen 80 
    <VirtualHost *:80> 
        ServerName www.example.org 
        DocumentRoot "/var/www/documents" 
        <Directory "/var/www/documents"> 
         AllowOverride All 
         Order allow,deny 
         Allow from all 
        </Directory> 
    </VirtualHost> 
    

    あなた.htaccessスタイルファイルは、そのコンテンツを必要としています。 いずれにしても、httpサーバーのエラーログファイルの監視を開始する必要があります(前述のコメントにも記載されています)。構文エラーの場合など、セットアップに何が問題なのかを理解することができます。そのログファイルの一般的な場所は/var/log/apache2/error.logですが、設定によっては変更する場合もあります。そのログファイルの場所を定義するApache設定でCustomLogコマンドを探します。


    しかし私はここに私の第二のコメントを繰り返したい:

    あなたは本当に.htaccessスタイルファイルを使用する必要がある場合について考えたいです。代わりに、あなたのコマンドをホスト構成に入れないでください。 .htaccessスタイルファイルは、エラーが発生しやすく、信頼性が低いと知られています。デバッグが難しく、サーバーの速度が遅くなります。これらは、ホスト構成を制御できないユーザーのためにのみ提供されています(安価なWebスペースプロバイダの場合が多いためです)。

    あなたのホスト定義に別の<Directory ...>コマンドを追加することにより、任意の.htaccessスタイルファイルなしで同じ結果を得ることができます。

    Listen 80 
    <VirtualHost *:80> 
        ServerName www.example.org 
        DocumentRoot "/var/www/documents" 
    
        <Directory "/var/www/documents"> 
         AllowOverride All 
         Order allow,deny 
         Allow from all 
        </Directory> 
    
        <Directory "/var/www/documents/protected/area"> 
         AllowOverride All 
         Order deny,allow 
         Deny from all 
        </Directory> 
    </VirtualHost> 
    
    +0

    ありがとうございました!できます! – Jacobian

    関連する問題