PHP 5.5を使用してUbuntu PreciseでApacheを実行する
私のvar/www/
にアクセスしようとすると、500が返されます。
/var/log/Apache2/error.log
ショー:
/ var/www/web/.htaccess: <IfModule not allowed here
私の.htacessは:
DirectoryIndex app.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]
RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>
私のApache.confに追加しました:
<Directory />
AllowOverride ALL
</Directory>
そして、それは私がApacheを再起動した後に機能しました。
.htaccessファイルからの構成を有効にするには、Apacheを構成する必要があります。したがって、ディレクトリセクションで、オプションがあることを確認してください
Allowoverride ALL
詳しくは allowoverride の詳細をご覧ください。
設定でmod_rewriteのみを使用している場合は、FileInfoのみを設定できる可能性があります。他のサイトへのリダイレクトを実行できるように、常に Options パラメータをSymLinksIfOwnerMatchに設定します。
Allowoverride FileInfo
Options SymLinksIfOwnerMatch
この設定がすでに設定されている場合は、virtualhostの設定に情報を追加してください。