У меня есть правило ReWrite в моем файле .htaccess прямо сейчас:
RewriteRule ^item/?([a-zA-Z0-9_]+)?/?([a-zA-Z0-9_]+)?/?$ static/items.php?a=$1&b=$2 [NC,L]
Он выберет любые элементы, имеющие знак подчеркивания:
item/new_item/new_order
Однако мне нужно перейти от подчеркивания к тире, чтобы сделать это:
item/new-item/new-order
Если я просто вношу изменения в строку RewriteRule, это прерывает ее. Не знаете, как это исправить.
RewriteRule ^item/?([a-zA-Z0-9-]+)?/?([a-zA-Z0-9-]+)?/?$ static/items.php?a=$1&b=$2 [NC,L]
Это довольно сложный материал, но это можно сделать, используя следующие правила Rewrite
:
RewriteEngine On # first replace each _ by - recursively RewriteRule ^(item)/([^_]*)_(.*)$ /$1/$2-$3 [L,NC] # now usual stuff to forward request to static/item.php RewriteRule ^(item)/([^_/]*)/?([^_/]*)/?$ static/$1.php?a=$2&b=$3 [L,QSA,NC]