Vhost의 Apache 2.4 mod_rewrite는 WAMP 로컬 서버에서 작동하지 않지만 .htaccess에서는 작동합니다.

Vhost의 Apache 2.4 mod_rewrite는 WAMP 로컬 서버에서 작동하지 않지만 .htaccess에서는 작동합니다.

Apache 2.2 로컬 개발 서버에 몇 가지 mod_rewrite 규칙이 있었고 제대로 작동했습니다. 이제 Apache 2.4로 업그레이드한 후 간단한 mod_rewrite 규칙을 수행하려고 하는데 작동하지 않습니다. 그러나 .htAccess로 작업하고 있습니다. 경로 문제인가요? 아니면 Apache 2.4에서는 mod_rewrite가 다른가요? 어떤 제안이 있으십니까?

로컬 개발 서버 정보: WAMP-Server 2.5 - Windows 7 mod_rewrite가 로드되어 php_info()에 표시됩니다.

아파치 구성: http://apaste.info/OF3

<VirtualHost *:80>

ServerAdmin [email protected]
DocumentRoot "C:/wamp/www"
ServerName site1.example.com
ErrorLog "logs/site1-error.log"
CustomLog "logs/site1-access.log" common

<Directory "/site1">
Options +FollowSymLinks -MultiViews 
RewriteEngine On
RewriteBase /
LogLevel alert rewrite:trace3
RewriteRule ^/index.html$ /welcome.html
</Directory>

</VirtualHost> 

답변1

내 생각 엔 지정한 경로가 <Directory "/site1">올바르지 않은 것 같습니다. 가 있습니다 DocumentRoot "C:/wamp/www". 이는 웹 사이트의 루트가 해당 디렉토리에 있음을 의미합니다. 를 사용하여 다시 쓰기 규칙을 적용하려면 <Directory>전체 경로를 지정해야 합니다.

<Directory "C:/wamp/www">
    [...]
</Directory>

아니면 아마도:

<Directory "C:/wamp/www/site1">
    [...]
</Directory>

실제로 사용하여 참조하려는 경로에 따라 /site1.

관련 정보