私の問題は.htaccess
、ローカルサーバー上のファイルが読み取られていないことです。VirtualHost
ファイル内の設定が常に優先されるようです。
私は以下を試しました:
- 有効
mod_rewrite
- に変更し
AllowOverride
ましたAll
が、これによりHTTP Error 500 Internal server error
。さまざまなオプションで試しましたが、常に500エラーが発生します。
次のようなUbuntuでVirtualHostファイルを使用しています。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
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>
私の.htaccess
ファイル/web/website
には、次のルールがあります(これらは読み取られていません)。
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
うまくいったことの1つは、これらのルールをVirtualHostファイルに直接追加することでしたが、ファイルを機能させたいと思い.htaccess
ます。それはそんなに大きな質問ですか?:(
編集:それで私は私のapacheを調べました、error.log
そしてそれはInvalid command 'Action', perhaps misspelled or defined by a module not included in the server configuration
私のファイルを参照していると言い.htaccess
ます。有効にできるActionというモジュールがないようです。何か案は?
編集2:httpd.conf
ファイルが空白であることに気づきました。私はVirtualHost
ファイルを使用しているので、これは重要ですか?