Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
userook
2 / 2 / 1
Регистрация: 24.08.2015
Сообщений: 193
#1

RewriteRule и get - PHP

13.08.2017, 23:47. Просмотров 199. Ответов 8
Метки нет (Все метки)

Здравствуйте, в .htaccess такие строчки

RewriteRule ^validate index.php?do=block&validate [QSA,L]
RewriteRule ^validatemail index.php?do=block&validatemail [QSA,L]



PHP
1
2
3
4
5
6
if(isset($_GET['validate'])) {
 echo 'тест1';
}
if(isset($_GET['validatemail'])) {
echo  'тест2';
     }
Когда в url index.php?do=block&validatemail или index.php?do=block&validate работает все нормально, а если в url /validatemail/
то выводятся 2 условия....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2017, 23:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос RewriteRule и get (PHP):

RewriteCond влияет толко для один, следушчи RewriteRule. можно как-то превишать количество RewriteRule - Apache, htaccess
здраствуите, вот что интересно, сделаю mod_rewrite и для етого в .htaccess фаиле пишу RewriteEngine On RewriteCond...

RewriteRule - Apache, htaccess
Люди помогите сделать в htaccess код Мне нужно чтобы из такого урл http://site.ru/index.php?items&itemid=10 Отображалось так ...

RewriteRule - Apache, htaccess
Никак не могу разобрать как это работает. Сколько примеров не смотрел ничего не получается. Подскажите кто знает нормальный справочник или...

RewriteRule - Apache, htaccess
AddDefaultCharset utf-8 RewriteEngine on RewriteRule ^(.+)/ $1\.php RewriteRule ^(.+) $1\.php Пытаюсь заменить урлы...

RewriteRule - Apache, htaccess
Прошу помощи. Не знаю как сделать так что бы работала вот эта строка со знаком вопроса. RewriteRule ^shop.php?sss=(.*)$...

RewriteRule - Apache, htaccess
Здравствуйте. Есть файл .htaccess: RewriteEngine On RewriteRule ^year/(+)/?$ index.php?year=$1 Почему у меня не...

8
andyyy
80 / 79 / 28
Регистрация: 26.05.2016
Сообщений: 553
14.08.2017, 15:32 #2
Цитата Сообщение от userook Посмотреть сообщение
Когда в url index.php?do=block&validatemail
Цитата Сообщение от userook Посмотреть сообщение
url /validatemail/
cамии поняли что написали))
0
userook
2 / 2 / 1
Регистрация: 24.08.2015
Сообщений: 193
15.08.2017, 15:37  [ТС] #3
а что не так?
0
andyyy
80 / 79 / 28
Регистрация: 26.05.2016
Сообщений: 553
15.08.2017, 16:00 #4
короче, все из -за слешов , если вы их ставите там
0
userook
2 / 2 / 1
Регистрация: 24.08.2015
Сообщений: 193
15.08.2017, 17:21  [ТС] #5
и без слешов и с ними одно и тоже, т.е если в url validatemail выполняется
PHP
1
2
3
if(isset($_GET['validate'])) {
 echo 'тест1';
}
0
andyyy
80 / 79 / 28
Регистрация: 26.05.2016
Сообщений: 553
16.08.2017, 14:52 #6
Цитата Сообщение от andyyy Посмотреть сообщение
короче, все из -за слешов , если вы их ставите там
вы пишите
Когда в url index.php?do=block&validatemail или index.php?do=block&validate то
работает все нормально
а если в url /validatemail/

Значит выводите как в первом примере без слешов просто, index.php?do=block&validatemail
0
userook
2 / 2 / 1
Регистрация: 24.08.2015
Сообщений: 193
16.08.2017, 22:47  [ТС] #7
Цитата Сообщение от andyyy Посмотреть сообщение
Значит выводите как в первом примере без слешов просто, index.php?do=block&validatemail
А вы знаете что такое ЧПУ? Мне надо что бы было так, я бы тогда не писал бы наверное сюда.
0
Emilien
444 / 348 / 181
Регистрация: 07.11.2015
Сообщений: 565
17.08.2017, 00:31 #8
Цитата Сообщение от userook Посмотреть сообщение
Здравствуйте, в .htaccess такие строчки

RewriteRule ^validate index.php?do=block&validate [QSA,L]
RewriteRule ^validatemail index.php?do=block&validatemail [QSA,L]
В первом правиле шаблон совпадает с частью строки validatemail https://regex101.com/r/ysucss/1.
Правила применяются одно за другим в том порядке, в котором записаны, так что достаточно просто поменять местами правила.

Или добавить в шаблон /.
Код
RewriteRule ^validate/$ index.php?do=block&validate [QSA,L]
RewriteRule ^validatemail/$ index.php?do=block&validatemail [QSA,L]
Или из двух правил сделать одно.
Код
RewriteRule ^(validate(mail)?)/$ index.php?do=block&$1 [QSA,L]
0
engineer2009
0 / 0 / 0
Регистрация: 21.11.2015
Сообщений: 5
22.08.2017, 12:28 #9
Добрый день, коллеги! Подскажите как сделать редирект

RewriteRule ^arenda.php?cat=([0-9]+)$ /?page=adverts&cat=$1 [L,R=301] - не работает.

RewriteCond %{QUERY_STRING} ^cat=([0-9]+)$
RewriteRule ^arenda\.php$ /?page=adverts&cat=%1 [L,R=301] - тож не работает
0
22.08.2017, 12:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2017, 12:28
Привет! Вот еще темы с ответами:

о RewriteRule - Apache, htaccess
пытаюсь на своем сайте сделать ЧПУ , все страницы меняются 1й переменной либо page(отвечает за категорию и страницы - пример...

RewriteRule - Apache, htaccess
Всем доброго дня! Покажите как на практике можно заенить URL http://www.site.ru/index.php?cityId=1 ...

RewriteRule - Apache, htaccess
Помогите написать RewriteRule для поиска. search.php <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'...

Капча и RewriteRule - Apache, htaccess
Добрый день, проблема такова: сайт имеет структуру: http://localhost/index.php?a=home&b=contact&c=feedback (каждое _GET значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.