Apache терпит неудачу, когда я передаю URL в качестве аргумента
Привет всем, я действительно смущен этой проблемой. Я постараюсь описать это:
Проблема заключается в том, что http://mydomain.com/somedir/somephp.php?arg1=value&arg2=http://otherdomain.com&arg3=http://othertoo.com/somepath/something... полностью терпит неудачу. С URL кодировать и без тоже.
Мой сайт прочитал все, что находится после mydomain.com/everything, кроме файлов и каталогов, которые существуют. Я делаю это с mod_rewrite:
Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ handler.php
Пример запроса выше - посадка в handler.php. Если я закомментирую RewriteRule, будет ошибка apache:
Forbidden
You don't have permission to access /somedir/somephp.php on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Много тестов и т. Д., Я выяснил, что есть проблема с http: // или: // строкой в аргументах url. Но его приход в URL закодирован: S
Этот материал должен быть системой аутентификации openId, и он не работает при обратной передаче, и я уверен, что URL в аргументе url делает эту ошибку.
Я никогда не сталкивался с этой проблемой раньше, хотя, я сделал много того же самого. URL кодировать вещь должна работать.
Пожалуйста, помогите мне! Thanx!
1 ответ
Что значит "полностью терпит неудачу"? какой код ошибки ты делаешь? какая ошибка в вашем файле сервера? что появляется?
ваши правила перезаписи в порядке! ошибка разрешения не имеет значения, поскольку это не тот файл, который вы хотите обслуживать, пока доступен handler.php.
однако я думаю, что ваша ошибка в том, что приведенная выше конфигурация не совсем та, которую вы пробовали. если у вас это так:
RewriteRule ^(.*)$ handler.php?a=b
вы потеряете союзника наших аргументов строки запроса, потому что он перезаписывается a=b. тогда вы можете сделать следующее:
RewriteRule ^(.*)$ handler.php?a=b [QSA]
который сообщает apache добавить строку запроса (QSA=QueryStringAppend)