Назад | Перейти на главную страницу

Apache mod_rewrite не работает должным образом в Mac OS X 10.6 (Snow Leopard)

Я пытаюсь создать веб-сайт PHP с чистыми URL-адресами с помощью Apache mod_rewrite, используя файл .htaccess. mod_rewrite, похоже, работает, однако он утверждает, что не может найти файлы на моем сервере, которые существуют.

В качестве базового теста мой файл .htaccess выглядит на данный момент так - переход на [mysite] / page должен перенаправлять на файл index.php:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^page$ index.php

Afaik, я также настроил файл .conf соответствующим образом:

<Directory "/Users/myuser/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Однако, когда я пытаюсь получить доступ к настройке URL-адреса через mod_rewrite (localhost / ~ myuser / mysite / page), я получаю следующее:

Not Found

The requested URL /Users/myuser/Sites/mysite/index.php was not found on this server.

Однако этот файл действительно существует, и это правильное место! В противном случае сайт работает нормально, если я перейду на localhost / ~ myuser / mysite / index.php, все будет работать нормально - за исключением, конечно, каких-либо чистых URL-адресов.

Кто-нибудь видел это раньше / есть идеи относительно того, что я делаю не так?

Вы должны добавить FollowSymlinks после Multiviews. Я написал учебник для всего этого здесь:

http://www.jermexpress.com/how-to-enable-mod_rewrite-on-snow-leopard-10-6/

Надеюсь, это решит вашу проблему. Ура! :)

Вам понадобится RewriteBase, если вы находитесь в своем userdir и подставляете относительный путь.