2013-01-19 8 views
10

私の問題は、ローカルサーバーの.htaccessファイルが読み込まれないということです。 VirtualHostファイルの設定が常に優先されるようです。Apache VirtualHostで動作する.htaccessファイルを取得する方法

私は次のことを試してみました:

  • mod_rewrite
  • を有効にAllAllowOverrideを変更したが、これはHTTP Error 500 Internal server errorが発生します。私は様々なオプションで試してみましたが、常に500エラーが発生します。

私は次のように見えるのUbuntu上のVirtualHostファイルを使用しています:私は(読まれていない)、以下の規則があり/web/websiteの下で私の.htaccessファイルで

<VirtualHost *:80> 
ServerAdmin [email protected] 

DocumentRoot /web/website 
<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 
<Directory /web/website> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order allow,deny 
    allow from all 
</Directory> 
</VirtualHost> 

を:

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?/$1 [L] 
RewriteCond %{HTTP_USER_AGENT} ^facebookexternalhit 
RewriteRule ^(.*)$ ogtags.php?$1 [L,QSA] 
ErrorDocument 404 /404 
ErrorDocument 401 /401 

これらのルールをVirtualHostファイルに直接追加していましたが、私の.htaccessファイルを動作させたいと思います!それはそのような大きな質問ですか? :(

編集:だから、私はapacheのerror.logに見て、それがInvalid command 'Action', perhaps misspelled or defined by a module not included in the server configurationが私.htaccessファイルを参照すると言う私は有効にすることができますアクションと呼ばれるモジュールがあるように思われない任意のアイデア

。。? 編集2:私は私のhttpd.confファイルが空であることに気づいた私はVirtualHostファイルを使用していますので、この問題を万一

+0

ダウン誰かを助け

希望は私はそれらのルールをコメントアウトしようとしているが、彼らが問題を引き起こしていたようには見えません。その他の提案はありますか?私はあなたが正しいと思う、それは間違っているこれらのルールの一つでなければならない。私もすべてのルールをコメントアウトしてみましたが、やはり効果がありませんでした!だから私は他に何をしようとするのか分からない! –

+0

しかし、これらのルールは404を含むライブサーバーで問題なく動作します。だから私のローカルのApacheの設定に間違っている何かがあるはずです。 –

+0

'' httpd.conf''はユーザー設定を追加するためのもので、 '' apache2.conf''ファイルに含まれています。デフォルトでは空白です。 – cyberhicham

答えて

6

私のapache error.logを見た後、私はちょうどApacheのactionsモジュールを有効にする必要がありましたが実現しました500以上の内部サーバエラーはありません!これはライン:)

1

あなたはRewriteBase /ディレクティブ

を欠場。?

RewriteEngineディレクティブの後にそれを追加します。

にsudo a2enmodアクション

そして:

RewriteEngine On 
RewriteBase/
+0

これは何も変更せず、 'HTTP Error 500 Internal server'を取得しました:( –

+2

通常は' '/ var/log/apache2/error.log''にあるログを確認してください – cyberhicham

+0

ありがとう! –

関連する問題