mod_rewrite가 내 홈 디렉토리에서 작동하도록하려면 어떻게해야합니까?
문제
이 디렉토리 아래에 freebsd 아래에 PHP 파일이 저장되어 있습니다.
/home/david/public_html/code/php
내 브라우저에서는이 URL을 통해 액세스합니다.
http://192.168.6.7/~david/code/php
urls를 다시 작성할 htaccess 파일이 있습니다.
RewriteEngine on
RewriteRule ^test test.php
하지만 내가 갈 때 http://192.168.6.7/~david/code/php/test 내 브라우저에서는 다음 오류가 발생합니다.
Not Found
The requested URL /home/david/public_html/code/php/test.php
보시다시피, 다시 쓰기 규칙은 테스트를 test.php로 리디렉션하려고 시도합니다. 그러나 어떤 이유로 든 실패합니다.
Apache 오류 로그 파일에서 이것을 찾았습니다.
File does not exist: /usr/local/www/data/home
누구 든지이 문제를 해결하는 방법을 알고 있습니까? 그건 그렇고, 이것을 홈 디렉토리가 아닌 웹 디렉토리에 넣으면 모든 것이 잘 작동합니다.
해결책
기본 URL 경로를 설정하십시오 /~david/code/php/
~와 함께 RewriteBase
:
RewriteBase /~david/code/php/
또한 설정해야합니다 UseDir
에게 public_html
. 또한보십시오 사용자 당 웹 디렉토리 아파치 매뉴얼에서.
제휴하지 않습니다 StackOverflow