Я мои PHP файлы хранятся под FreeBSD в этом каталоге:Как мне заставить mod_rewrite работать в моем домашнем каталоге?
/home/david/public_html/code/php
В моем браузере я доступ к ним через этот URL:
http://192.168.6.7/~david/code/php
И у меня есть файл Htaccess переписать URL-адреса:
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. Но по какой-то причине он терпит неудачу.
Я нашел это в моем апача журнал ошибок:
File does not exist: /usr/local/www/data/home
Кто знает, как это исправить? Кстати, если я помещаю это в веб-каталог, а не в мой домашний каталог, все работает нормально.
Спасибо! Это сработало. Но теперь мне нужно отслеживать 2 файла htaccess. Один для моего каталога и один для производственного каталога. В идеале apache должен иметь способ установить RewriteBase в каталог, в котором находится файл .htaccess. –
@David Barnes: вы можете поместить эту директиву в раздел конфигурации вашего виртуального хоста. – Gumbo