У меня есть небольшая проблема:Htaccess - Категория/Подкатегория/Страница
Мой URL: локальный/кошка/Категория/Подкатегория/Страница
Пример: локальный/кошка/кино/3d/7
кодекс:
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/?$ $1.php?wq=$2 [NC,L] ## wq is Category
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ $1.php?wq=$2&wsq=$3 [NC,L] ## wsq is Subcategory/but if no Subcategory and Pagination -> False it must be "&wpq="
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ $1.php?wq=$2&wsq=$3&wpq=$4 [NC,L] ## wpq is Pagination
Мой текущий Htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9\-]+)/?$ $1.php [NC,L]
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/?$ $1.php?wq=$2 [NC,L] ## wq is Category
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ $1.php?wq=$2&wsq=$3 [NC,L] ## wsq is Subcategory/but if no Subcategory and Pagination -> False it must be "&wpq="
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ $1.php?wq=$2&wsq=$3&wpq=$4 [NC,L] ## wpq is Pagination
RewriteCond %{REQUEST_METHOD} !POST [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([\w.-]+)/?$ $1.php [L]
Это работает, насколько это необходимо, только проблема, если введена только одна категория (и не подкатегория), тогда необходимо проверить, только ли номер параметра 2.
Если введены только числа, то это не подкатегория, а параметр Pagination (тогда второй параметр должен быть «wsq», а не «wsq»).
Я надеюсь, вы понимаете, что я имею в виду: D
Это может быть сделано с Php, но я думаю, что через .htaccess лучше?
Заранее спасибо уже раз.
Спасибо, он прекрасно работает;) Но если я попал в URL, как это: HTTP: // локальной/кошка/WQ = фильм Это DonT Перепишите к HTTP: // локального/кот/фильма?/ RewriteRule^([a-z0-9 \ -] +)/([a-z0-9 \ -] +) /? $ $ 1.php? Wq = $ 2 [NC, L] – playnic
Не уверен поймите: если вы хотите, чтобы '/ cat /? wq = filme' был перенаправлен на'/cat/filme', у вас в настоящее время нет правила делать это. – julp