Чтобы добавить дефис в URL в мод переписать
Мне любопытно, почему это не может работать и ищу решение.
следующее в моем htaccess
RewriteRule ^field/category/([a-zA-Z0-9\-]+)&([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2
Это работает хорошо, и URL будет domain.com/field/category/Ball&Drinks
Как я могу изменить & на - и сделать так, чтобы он стал domain.com/field/category/Ball-Drinks
я попробую
RewriteRule ^field/category/([a-zA-Z0-9\-]+)-([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2
и это не работает. Символ - не считается буквальным. Кто-нибудь может помочь? Благодарю.
2 ответа
Я знаю, что это старый вопрос, но я потратил час на то, чтобы понять это, поэтому решил, что должен поделиться ответом:
Заменить дефис на [\-]
чтобы получить RewriteRule для обработки его как строкового литерала.
Итоговый код будет таким: ^field/category/([a-zA-Z0-9\-]+)[\-]([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2
Вы должны избежать - персонажа:
RewriteRule ^field/category/([a-zA-Z0-9\-]+)\-([a-zA-Z0-9\-]+)$ field.php?cat[]=$1&cat[]=$2