Сопоставить большинство знаков препинания с помощью регулярного выражения ModRewrite

#regex #mod-rewrite

#регулярное выражение #переписать мод

Вопрос:

Я использую ModRewrite для отправки запросов на

 /2/Blog-Title 
  

Для

 /?post=2amp;title=Blog-Title
  

Изначально я использовал ([A-Za-z0-9-_/] ) , но потом понял, что люди используют много знаков препинания в своих заголовках. Я постепенно добавлял намного больше знаков препинания, но чувствую, что это неправильный способ сделать это… Теперь я использую

 RewriteRule ^([0-9] )/([A-Za-z0-9-_/.?!':amp;] )$ /?post=$1amp;title=$2 [L]
  

Как я могу игнорировать любые требования к заголовку и просто сопоставлять любой текст после номера? (На самом деле мне не нужен набор title = bit, текст действительно предназначен для SEO, а не для внутренней работы.)

Ответ №1:

Если вы хотите игнорировать заголовок, просто сделайте:

 RewriteRule ^([0-9] )/.*$ /?post=$1 [L]
  

.* будет соответствовать любой строке после / , поэтому она будет соответствовать чему угодно, например:

 /2/lores-ipsum_etc356
  

Комментарии:

1. О да! Я всегда упускаю очевидное!