Помогите с RewriteRules - PullRequest
       6

Помогите с RewriteRules

0 голосов
/ 18 января 2011

Можно ли переписать это:

news.php?id=1004
news.php?action=add
news.php?action=edit&newsid=1004

до

news/1004
news/add
news/edit/1004

Только с одним RewriteRule?

1 Ответ

2 голосов
/ 18 января 2011

Я не уверен насчет одного правила, но вы должны быть в порядке с чем-то вроде этого, чтобы ссылаться на идентификационный номер или действие.

<IfModule mod_rewrite.c>
  RewriteEngine On

  RewriteRule news/([0-9]+)$ news.php?id=$1
  RewriteRule news/add$ news.php?action=add
  RewriteRule news/edit/([0-9]+)$ news.php?action=edit&newsid=$1
</IfModule>

Это может быть конденсировано с чем-то вроде:

# Rewrite news/actionterm/idnum -> news.php?action=actionterm&id=idnum    
RewriteRule news/([^/])/([0-9]+) news.php?action=$1&id=$2

Предполагается, что параметром для просмотра, просмотра и редактирования может быть id = вместо id = и newsid =.

...