2015-08-19 2 views
1

У меня есть URL-адрес, как http://www.abcdef.com/news_single.php?newsid=10Htaccess URL переписывания шаблон

С URL переписывания через Htaccess я мог бы добиться того, что http://www.abcdef.com/news/10 переписывает URL к одному упомянутому выше. Я добился того, что с

RewriteRule ^news/([0-9]+)/?$ news_single.php?newsid=$1 [NC,L]

Теперь моя цель состоит в том, чтобы получить URL, как http://www.abcdef.com/news/This-is-the-first-news-1. Итак, newsid находится в конце URL-адреса после последнего -, и заголовок находится впереди.

Как я могу сказать htaccess игнорировать заголовок и обратить внимание только на число после последнего -?

ответ

2

Вы можете настроить свой регулярное выражение, чтобы захватить только последний номер после -:

RewriteRule ^news/.+?-(\d+)/?$ news_single.php?newsid=$1 [QSA,NC,L] 
+1

Это именно то, что я искал :) Может у просто скажите мне еще одну вещь: Что 'QSA' делать? – Phil

+0

Флаг 'QSA' (Query String Append) сохраняет ** существующие ** параметры запроса при добавлении нового. – anubhava

+1

Большое спасибо :) Я отвечу на ответ через 10 минут, просто нужно подождать – Phil