Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > ЧПУ


Автор: baryshkov 27.3.2015, 18:17
Здравствуйте, не могу написать правильно правило.
Хочу на сайте сделать ссылку формата: http:///mysite.ru/my?callback
$1 - page=my
$2 - вторая переменная callback 
Сейчас правило работает на такую ссылку http:///mysite.ru/my/callback
Код

RewriteRule ^my/([A-Za-z0-9-]+)$ /index.php?page=my&$1 [QSA]

Заранее спасибо!
Пробовал:
Код

RewriteRule ^my?([A-Za-z0-9-]+)$ /index.php?page=my&$1 [QSA]

не работает

Автор: baryshkov 31.3.2015, 06:09
Здравствуйте, никто не может подсказать?

Автор: numerovan 2.4.2015, 19:13
Код

RewriteRule ^([^/]+)\?([-a-zA-Z0-9]+)$ /index.php?page=$1&$2 [QSA]

^ - начало строки
([^/]+) - любой символ кроме прямого слеша, который встречается 1 либо больше раз
\? - обязательное присудствие знака вопроса
([-a-zA-Z0-9]+) - один либо более раз из этого арсенала [-a-zA-Z0-9]
$ - конец строки, далее ни чего не идет.

Что отсюдова получаем:
/(тут какие либо символы)?(и еще какие-то символы)

Если принципиально нужно чтоб "my" стояло, то тогда на мой взгляд:
Код

RewriteRule ^(my)\?([-a-zA-Z0-9]+)$ /index.php?page=$1&$2 [QSA]

^(my) - "my" взяли в скопки лишь для того чтоб это было значением в переменной page, если page всегда равен my, то можно прям жестко в коде прописать или так
Код

RewriteRule ^my\?([-a-zA-Z0-9]+)$ /index.php?page=my&$1 [QSA] // тут не удачная мысль


Автор: baryshkov 3.4.2015, 07:44
Огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)