Как мне заставить mod_rewrite работать в моем домашнем каталоге?

StackOverflow https://stackoverflow.com/questions/1683322

  •  18-09-2019
  •  | 
  •  

Вопрос

У меня есть мои PHP-файлы, хранящиеся во FreeBSD в этом каталоге:

/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 /~дэвид/код/php/тест в моем браузере я получаю эту ошибку:

Not Found

The requested URL /home/david/public_html/code/php/test.php

Как вы можете видеть, правило перезаписи успешно пытается перенаправить test на test.php.Но по какой-то причине это не удается.

Я нашел это в моем файле журнала ошибок apache:

File does not exist: /usr/local/www/data/home

Кто-нибудь знает, как это исправить?Кстати, если я помещу это в веб-каталог, а не в свой домашний каталог, все будет работать нормально.

Это было полезно?

Решение

Установите базовый URL-путь на /~david/code/php/ с RewriteBase:

RewriteBase /~david/code/php/

Вы также должны четко указать, чтобы установить UseDir Для public_html.Смотрите также Веб-каталоги для каждого пользователя в руководстве Apache.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top