обработчик htaccess - PullRequest
       1

обработчик htaccess

1 голос
/ 07 января 2011

У меня странная проблема, которая нуждается в помощи. Речь идет о переписывании с использованием Apache.

Вот мой файл содержимого .htaccess:

Options +FollowSymLinks


 ## This is an example .htaccess-file
 ## To get everything automatically parsed, the following line is needed
 #set link auto on

 ##From now on, every RewriteRule gets recognised.
 RewriteEngine on
 RewriteRule captcha(\.html){0,1}$  captcha.php [QSA,L]
 RewriteCond %{SCRIPT_FILENAME} !-s
 RewriteCond %{SCRIPT_FILENAME} !-d
 RewriteCond %{SCRIPT_FILENAME} !-f
 Rewriterule (.*) handler.php

 ##You can also change the text before the real link by the following line

С этим правилом я надеюсь, что все запросы, кроме тех, которые существуют в файле или каталоге, будут направлены на мой пользовательский обработчик: handler.php.

Everyting просто отлично, как и ожидалось, но в этом случае нет:

http://../test/form_login/query=%2Ftest%2Findex.php%3Fpage%3Dform&

URL-адрес корня: / test /, form_login не является файлом или каталогом index.php существует в корне.

Ответ Apache с: 404 Страница не найдена

Спасибо за любую вашу помощь.

С уважением, Стив

1 Ответ

0 голосов
/ 08 января 2011

Вы переписываете в тот же несуществующий каталог ...

Rewriterule (.*) handler.php

Так что, если я захожу на yourdomain.com/no/directory/exists/

, он перенаправляет меня наyourdomain.com/no/directory/exists/handler.php

Так что нет файла / каталога

, используйте базу перезаписи или используйте

Rewriterule (.*) /handler.php

, если существует handler.phpна yourdomain.com/handler.php

и вы можете добавить QSA для добавления переменных ...

Rewriterule (.*) /handler.php [R,QSA,L]

** также добавлен флаг R для обновления / показаreidrect url в браузерах, а также флаг L для последнего правила ...

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