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
.