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>
그리고 아파치를 다시 시작한 후에 작동했습니다.
답변
.htaccess 파일에서 구성 할 수 있도록 아파치를 구성해야합니다. 따라서 디렉토리 섹션에서 옵션이 있는지 확인하십시오
Allowoverride ALL
allowoverride에 대한 자세한 내용은 .
설치에서 mod_rewrite 만 사용하면 FileInfo 만 설정할 수 있습니다. 다른 사이트로 리디렉션을 수행 할 수 있도록 항상 Options 매개 변수를 SymLinksIfOwnerMatch로 설정합니다 .
Allowoverride FileInfo
Options SymLinksIfOwnerMatch
이 구성을 이미 설정 한 경우 가상 호스트 구성에 정보를 추가하십시오.