Реклама на сайте Advertise with us

RewriteRule корректная передача GET параметров

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 10/11/15 в 10:51       Ответить с цитатойцитата 

.htaccess
Код:
DirectoryIndex /index.php?a=1


если при таком раскладе передать ещё один параметр на корень домена в виде
Код:
http://domain.com/?b=2

то в реальности QUERY_STRING получается в данном случае таким: a=1?b=2, вместо a=1&b=2

Как можно это настроить корректно?

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 10/11/15 в 12:11       Ответить с цитатойцитата 

это можно сделать корректно изначально поняв что нужно

Код:

RewriteRule ^test.php$ test.php?a=1 [NC,L,QSA]


Код:

//test.php
<?php

echo '<pre>', print_r($_GET, true), '</pre>';
echo '<pre>', print_r($_SERVER['QUERY_STRING'], true), '</pre>';




Код:

/test.php?b=56


Код:

Array
(
    [a] => 1
    [b] => 56
)

a=1&b=56

0
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 10/11/15 в 22:52       Ответить с цитатойцитата 

freeek: проблем именно в том, к DirectoryIndex /index.php?a=1
я бы изначально добавил к строке QSA и не тормошил бы форум, если бы эта строка относилась к реврайтам. Но это не так. А параметр надо и к корню домена тоже:
http://domain.com/?b=1

Пока сделал так:
Код:
DirectoryIndex /index.php?a=1

RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^$ /index.php?a=1 [L,QSA]


ХЗ, нассколько это универсально и корректно, но пока не дало сбоя.

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 11/11/15 в 10:25       Ответить с цитатойцитата 

по сути тоже самое, как раз таки это к реврайтам и относиться.

индекс это индекс, а если мы меняем строку запроса и т.д., то уже реврайт.

в твоем случаем отрабатывает реврайт.

а если запросят /index.php ? корректно отработает?

8
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 11/11/15 в 11:58       Ответить с цитатойцитата 

freeek: /index.php в чистом виде не свитится на сайте, но открыть его возможность есть. Надо будет запретить его прямой вызов.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »