Как преобразовать любой регистр в URL в определенный ?

Статус
В этой теме нельзя размещать новые ответы.

zverOK

Постоялец
Регистрация
15 Фев 2008
Сообщения
147
Реакции
130
Собственно вопрос. Столкнулся с этим в WebAsyst.
Ссылки на категории и товары в WebAsyst имеют в ссылках слова в таком регистре:
categoryID
productID

И если при вводе адреса в браузере вместо них прописать categoryid и productid - то сайт выдает ошибку 404.

Как можно это исправить с помощью htaccess, чтобы запрос, в котором присутствуют слова categoryid и productid(в любом регистре), преобразовывался в запрос с содержанием слов categoryID productID ??:thenks:
 
Попробуй в правилах указывать NC

Код:
RewriteRule ^categoryid=(\d)$ index.php?categoryID=$1 [NC,QSA]
RewriteRule ^productid=(\d)$ index.php?productID=$1 [NC,QSA]
 
Попробуй в правилах указывать NC
*** скрытое содержание ***
Код:
RewriteRule ^categoryid=(\d)$ index.php?categoryID=$1 [NC,QSA]
RewriteRule ^productid=(\d)$ index.php?productID=$1 [NC,QSA]
не помогает.
Вот какой код на данный момент:
HTML:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.ru [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [L,R=301]
RewriteRule ^categoryid=(\d)$ index.php?categoryID=$1 [NC,QSA]
RewriteRule ^productid=(\d)$ index.php?productID=$1 [NC,QSA]
# WebAsyst .htaccess config
AddDefaultCharset UTF-8
 
Не странно что не работает, телепаты в отпуске, я не знаю какой урл нужно обработать и каким он должен получиться. Пример бы увидеть!
Хотя можно поиздеваться.
Код:
RewriteRule ^(.*)categoryid(.*)$ $1categoryID$2 [NC,QSA]
RewriteRule ^(.*)productid(.*)$ $1productID$2 [NC,QSA]
 
Вот 2 примера:
HTML:
http://www.site.ru/index.php?productID=1061&ukey=product&did=34
http://www.site.ru/index.php?categoryID=2
Такими они должны быть.
Так как при вводе :
HTML:
1)http://www.site.ru/index.php?productid=1061&ukey=product&did=34
2)http://www.site.ru/index.php?categoryid=2
1- выдает 404 ошибку
2- перебрасывает на главную страничку.
:(
 
ИМХО вот так должно работать
Код:
RewriteCond %{QUERY_STRING} ^productid=(.+)$ [NC]
RewriteRule ^(.*)$ index.php?productID=%1 [QSA]

RewriteCond %{QUERY_STRING} ^categoryid=(.+)$ [NC]
RewriteRule ^(.*)$ index.php?categoryID=%1 [QSA]
 
antidote, благодарю ;)
а не подскажешь, что ещё нужно прописать?
если url'ы имеют вид такой:
HTML:
www.site.ru/index.php?product_slug=product-name&productid=22&ukey=product&did=34
www.site.ru/index.php?product_slug=1083&productid=1083&ukey=product&did=36
а надо чтобы было:
HTML:
www.site.ru/index.php?product_slug=product-name&productID=22&ukey=product&did=34
www.site.ru/index.php?product_slug=1083&productID=1083&ukey=product&did=36
а может есть какое-то общее правило? чтобы в любом месте url'а productid заменялся на productID ? :ah:
 
Как-то так
Код:
RewriteCond %{QUERY_STRING} ^(.*)productid=(.+)$ [NC]
RewriteRule ^(.*)$ index.php?productID=%2 [QSA]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху