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

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

Доступ к 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, но сомневаюсь, что это как-то связано с этим; это работало раньше. Все предложения приветствуются!

EDIT: Файл / 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 ]

1 голос
/ 19 октября 2010

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

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

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

0 голосов
/ 19 октября 2010

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

...