[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Уважаемые профи, помогите разрешить проблему с ЧПУ
gERYH
Здравствуйте Знатоки и прочие Seniors Developers. Помогите новичку в разрешении проблемы с ЧПУ. В общем ситуация такая:
Есть интернет-магазин с фильтром товаров. Фильтр в форме с методом GET.
Ссылка до включения фильтра товаров sporteda.com.ua/amino/bcaa
Ссылка после включения фильтра товаров sporteda.com.ua/amino/bcaa/filter?start_price=100&end_price=300&brand[]=1&brand[]=2&brand[]=3&brand[]=4
Всё было бы хорошо если бы htaccess не экранировал всё что идёт после "filter?".
Я пытался учить регулярные выражения всё хорошо идёт но всё равно ничего не выходит.

Вот код htaccess


RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)$ view_cat.php?cat=$1&podcat=$2 [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([0-9])$ view_cat.php?cat=$1&podcat=$2&page=$3 [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-\=\_]+)/$ view_cat.php?cat=$1&podcat=$2&sort=$3 [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-\=\_]+)/([0-9])$ view_cat.php?cat=$1&podcat=$2&sort=$3&page=$4 [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([0-9])$ view_cat.php?cat=$1&podcat=$2&page=$3 [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/filter=([a-z0-9\-\=\_]+)&([a-z0-9\-\=\_]+)/([0-9])$ view_cat.php?cat=$1&podcat=$2&start_price=$3&end_price=$4&page=$5 [L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/filter(.*)$ view_cat.php?cat=$1&podcat=$2&start_price=$4&end_price=$5&brand[]=$3 [L]
RewriteRule ^([a-z0-9\-]+)/filter=(.*)&(.*)/(.*)/([0-9])$ view_cat.php?cat=$1&podcat=$2&start_price=$3&end_price=$4&page=$5 [L]



Я понимаю что я полный нуб в htaccess но всё же чтобы вы порекоммендовали, убирать этот код из htaccess и вставлять что-то другое. Я читал на просторах интернета что можно сделать так чтобы все запросы направлялись в index.php т.е
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php [L]

Но это же нужно почти всю структуру сайта исправлять, а у меня к сожалению уже всё готово и заказчик кричит чтобы уже сдавал сайт. Нужна очень помощь. Спасибо!
inpost
gERYH
Экранировал? Я что-то ничего не понял...
Вот у тебя в ссылке: ?start_price=100
Выводишь так: echo $_GET['start_price']; и должно всё работать. Конкретное задачи ДРУГОЙ я не понял. И на будущее, сразу делай правильный rewrite.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
gERYH
Цитата (inpost @ 16.08.2014 - 00:16)
gERYH
Экранировал? Я что-то ничего не понял...
Вот у тебя в ссылке: ?start_price=100
Выводишь так: echo $_GET['start_price']; и должно всё работать. Конкретное задачи ДРУГОЙ я не понял. И на будущее, сразу делай правильный rewrite.

Вот я же говорю не выводится. Файл htaccess не пропускает. Я корявый код в нём наверное написал который не пропускает. Пишет что это массив который напрочь пустой.
sergeiss
gERYH, по-моему, тебе стОит найти и почитать инфу про %{QUERY_STRING}, параметр, используемый в htaccess как раз для таких целей, как передача неизвестного набора ГЕТ-параметров.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
gERYH
Цитата (sergeiss @ 16.08.2014 - 09:49)
gERYH, по-моему, тебе стОит найти и почитать инфу про %{QUERY_STRING}, параметр, используемый в htaccess как раз для таких целей, как передача неизвестного набора ГЕТ-параметров.

Хорошо. Понял, буду юзать query_string спасибо огромное за наводку)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.