환경 : Apache 2는 Mac OS X Leopard와 함께 제공됩니다. 기본 httpd.conf에는 큰 변화가 없습니다.mod_rewrite에서 상대 URL 사용
.htaccess를 통해 몇 가지 재 작성을 설정 중이지만 현재 디렉토리와 관련된 대상 경로를 사용할 수 없습니다.
# URL: http://localhost/~davis/rewrite/.htaccess
# File: /Users/davis/Sites/rewrite/.htaccess
RewriteRule go.php target.php
# Not working
사용자를 http://localhost/~davis/rewrite/target.php
(으)로 리디렉션 할 것으로 예상됩니다. 정확한 물리적 경로로 해결되지만 경로 /Users/davis/Sites/rewrite/target.php
이 존재하지 않는다는 404라는 메시지를 보냅니다.
전체 URL을 제공하면 모두 잘 작동합니다.
# URL: http://localhost/~davis/rewrite/.htaccess
# File: /Users/davis/Sites/rewrite/.htaccess
RewriteRule go.php /~davis/rewrite/target.php
# Works
여기에 뭔가가 빠졌습니까? httpd.conf에 설정해야 할 것은 무엇입니까?
감사합니다.
편집 : 내 라이브 Linux 서버에서 상대 URL이 올바르게 작동하고 있습니다. 로컬 Mac 상자에 문제가 있습니다.
그 해결책을 더 자세히 설명 할 수 있습니까? – jnthnclrk
기본적으로 URL http : // localhost/~ davis /를 사용하여 로컬 사이트에 액세스합니다. 여기서 davis는 내 사용자 이름입니다. 그러나이 설정에서는 상대적 RewriteRules를 사용할 수 없었습니다. 을 DocumentRoot "/ 사용자/데이비스/사이트" 을 그리고이 문제를 해결 : 내가했던 것은 바로 나의 위치를 가리 키도록 아파치의 httpd.conf에서 DocumentRoot의 설정을 변경하기위한 것이었다는 폴더. 이제 http : // localhost /에서 직접 내 로컬 사이트에 액세스하고 있습니다. conf 파일은/etc/apache2/ 에 있습니다. 다음 설명이 도움이 되길 바랍니다. :) –