Все мои перезаписи работают отдельно от одного. Когда пользователь ищет, я хочу, чтобы URL-адрес отображался правильно в строке url.
Options +FollowSymLinks RewriteEngine on RewriteBase /website/ RewriteCond %{THE_REQUEST} /search\?c=([^&\s]+)&s=([^&\s]+)&mincost=([^&\s]+)&maxcost=([^&\s]+)&sort_by=([^&\s]+)&colour=([^&\s]+) [NC] RewriteRule ^search/%1/%2/%3/%4/%5/%6? [L,R] RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ product.php?id=$1&c=$2&name=$3&page=$4 [L,QSA] RewriteRule ^product/([^/]+)/([^/]+)/([^/]+)/?$ product.php?id=$1&c=$2&name=$3 [L,QSA] RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ search.php?c=$1&s=$2&mincost=$3&maxcost=$4&sort_by=$5&colour=$6&page=$7 [L,QSA] RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ search.php?c=$1&s=$2&mincost=$3&maxcost=$4&sort_by=$5&colour=$6 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php [L]
/ Сайт / поиск / категория / все / 100/500 / низкого до высокого / любого цвета
(работает при вводе в строку url)
/ Сайт / поиск? С = категория & s = & все mincost = 100 & maxcost = 500 & sort_by = от низкого до высокого и цвет = любой цвет
(отображается при использовании фильтра и формы отправки). Мне нужен этот url, чтобы показать:
/ Сайт / поиск / категория / все / 100/500 / низкого до высокого / любого цвета
Ваш первый RewriteRule
. Замените его:
RewriteCond %{THE_REQUEST} /search\?c=([^&\s]+)&s=([^&\s]+)&mincost=([^&\s]+)&maxcost=([^&\s]+)&sort_by=([^&\s]+)&colour=([^&\s]+) [NC] RewriteRule ^ search/%1/%2/%3/%4/%5/%6? [L,R=302,NE]
Отметьте пробел между ^
и search