Вопросительный знак в URL для переменных PHP делает ссылку неработающей. Есть идеи почему?

Я не знаю, что изменилось в прошлом - это работало:

Доступ к URL на моем сервере, как показано ниже, не работает: http://www.domain.com/folder/file.php?variable=a&variable2=b

Я получаю сообщение "Не найдено Запрошенный адрес 406.shtml не был найден на этом сервере". сообщение.

Тем не менее, если я получаю доступ к этому, он работает: http://www.domain.com/folder/file.php

Добавление знака вопроса после file.php - вот что заставляет его ломаться. Я никогда раньше не сталкивался с такой проблемой. Сначала я думал, что.htaccess как-то связан с этим, но я знаю, как факт, что он вообще не редактировался в прошлом.

Есть идеи? Я использую CakePHP, но сомневаюсь, что это как-то связано с этим; это работало раньше. Все предложения приветствуются!

РЕДАКТИРОВАТЬ: Файл / app / webroot.htaccess имеет это:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

</IfModule>

Насколько я знаю, это не изменилось вообще, и URL работал с этим. Файл.htaccess прямо в /public_html/ содержит это:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
<IfModule mod_rewrite.c>
   RewriteEngine on


   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]


</IfModule>

2 ответа

Решение

У вас есть ошибка в вашей конфигурации Apache. Он пытается открыть страницу с ошибкой 406, но не может ее найти. Если вы исправите это, вы можете получить более информативную ошибку.

Эта ссылка может помочь вам в корне проблемы: http://urbangiraffe.com/2005/08/20/mysterious-406-error/

Это также может быть вызвано mod_security, Если это не ваш сервер, вы должны спросить вашего хостинг-провайдера.

99,9% вероятности того, что это вызвано изменением вашего файла htaccess. Что-то проверяет строку запроса и перенаправляет или пытается загрузить файл, который не существует.

Другие вопросы по тегам