Правильно, поэтому вашему первому регулярному выражению ...
^category/(\d+)/([\w-]+)$
требуется число от category
до последней части, например /category/1234/something-else
.
Ваше второе регулярное выражение ...
^/category/([a-zA-Z0-9]+)$
имеет неверный начальный слеш (правила перезаписи начинаются с базы перезаписи) и требует только букв и цифр после category
, например /category/thisIsMyCategory
.
URL, который вы тестируете, содержит буквы и дефисы.
Мне кажется, вы хотите
RewriteEngine On
RewriteRule ^category/([\w-]+)$ /category.php?id=$1 [L,QSA]
Demo ~ https://htaccess.madewithlove.be? Share = 8c3de5aa-68f3-5ec0-9c69-23ff2dbe2d6e
Некоторые заметки ...
- Редко когда-либо требуется
RewriteBase
, особенно если файл .htaccess
находится вкорневой каталог, поэтому я удалил его Я добавил флаг QSA
, чтобы все параметры запроса были сохранены.Например
/category/this-is-my-category?foo=bar
становится
/category.php?id=this-is-my-category&foo=bar