Здравствуйте, при передаче GET параметров в строке браузера на мой сайт, если таковы содержат пробелы, сервер возвращает:
Bad Request
Your browser sent a request that this server could not understand.
Я решил не исправлять это, так как я изначально хотел заменять пробелы, на "+" плюсы. То есть из строки site.ru/search/hello word
делать site.ru/search/hello+word
Я знаю что это можно сделать предварительно, в форме поиска, заменить каждый пробел на плюс. Но у меня возникла небольшая идея, делать это непосредственно в Nginx (использую связку Nginx+Apache), так как это будет работать всегда, и хотел бы узнать как можно это сделать.
Вот конфигурация хоста:
server {
listen 80;
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/site.pem;
ssl_certificate_key /etc/nginx/ssl/site.key;
server_name site.com;
#access_log /var/log/nginx/paniple.access_log;
#error_log /var/log/nginx/paniple.error_log;
index index.php;
root /home/www/site;
location / {
try_files $uri $uri/ /index.php?query=$uri;
}
location ~ \.php$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:81;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js|svg|ttf|mp3)$ {
root /home/www/paniple;
access_log off;
expires 30d;
}
location ~* \.(eot|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
location ~ /\.ht {
deny all;
}
}
Как я понял нужно сделать следующее:
Пользователь вводит в браузер любой запрос, к примеру site.ru/one two
, и попадает на адрес site.ru/one+two
, а php по непонятным мне причинам, но к счастью, уже получает GET строку где вместо "+" стоит пробел.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
задача: отправить одним запросом в корзину несколько вариаций товараКак это вижу я: массив значений через POST в обработчик, далее перехватить...