Здравствуйте. Имеется сайт-новостник написанный на чистом php. Столкнулся с проблемой в htacces, подробнее:
На сайте имеются категории новостей, подкатегории 2-ого уровня и соответственно сами новости. Новость всегда лежит только в категории 2-ого уровня.
В htaccess прописано так, чтобы url адрес строился таким образом:
http://site.ru/catname/catname_2/id-news/
где как я думаю понятно (catname - главная категория, catname_2 - подкатегория, id - id новости (чтобы не было дублей по url), news - сам url адрес (алиас заголовка)).В htaccess прописано так:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)(?<!/)$ /$1/ [R=301,L]
#
... 301 редиректы и т.д.
#
RewriteRule ^([a-zA-Z0-9_-]+)/?$ news.php?category=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/(page[0-9]*)?/?$ news.php?category=$1&page=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/?$ news.php?category=$1&subcategory=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/(page[0-9]*)?/?$ news.php?category=$1&subcategory=$2&page=$3 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([0-9]*)-([a-zA-Z0-9_-]+)/?$ news.php?category=$1&subcategory=$2&id=$3-&url=$4 [L]
Проблема:
При такой структуре можно набрать в url все, что угодно например
http://site.ru/782374/
и он посчитает это за категорию новости... (в news.php не проблема прописать условия, но это все не то)
Так-же например не работает редирект на 404 страницу и т.д.
Добавлять префикс в виде
http://site.ru/news/category/sub.................../
- совсем не хочется, хочется именно такую структуру