Почему этот Apache modrewrite RewriteRule не будет работать? - PullRequest
1 голос
/ 30 ноября 2009

Я пытаюсь переписать мод Apache для работы на моей локальной машине. Я использую OSX с PHP 5, и модуль перезаписи мода Apache включен.

У меня есть каталог с именем localhost / ~ Jason / hfh / admin с различными PHP-включениями, который вызывается на основе переменной $ _GET. Я хочу позволить пользователям печатать (в теории)

localhost/~Jason/hfh/admin/pages 

, и этот URL остается в адресной строке, тогда как отображается

localhost/~Jason/hfh/admin/?admin=pages

Зв

Я создал файл .htaccess, который находится в каталоге / hfh. Внутри я поместил этот мод переписать текст:

RewriteEngine On
RewriteRule ^admin/([^/.]+)/?$ admin/?admin=$1 [L]

Когда я захожу в браузер и набираю

localhost/~Jason/hfh/admin/pages

Я получаю ошибку «Страница загрузки проблемы», и Firefox говорит: «Упс. Firefox по какой-то причине не может загрузить эту страницу».

Может кто-нибудь помочь мне понять это? У меня такие тяжелые времена с regex и mod rewrite ...

Ответы [ 2 ]

0 голосов
/ 02 декабря 2009

Пока что ответ выглядит так: вы не можете использовать mod-rewrite на localhost.

0 голосов
/ 30 ноября 2009

Попробуйте явно написать index.php в вашем RewriteRule.

RewriteRule ^admin/([^/.]+)/?$ admin/index.php?admin=$1 [L]

Вы также можете счесть более чистой организацией просто перенести эту директиву в файл .htaccess в / admin / самой, тем самым удалив дублирование в правиле и упростив поиск правила позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...