mod_rewrite путаница - PullRequest
       7

mod_rewrite путаница

0 голосов
/ 05 марта 2011

У меня есть несколько переписанных URL-адресов, указывающих на оригинальные динамические URL-адреса, например:

http://mysite.com/profile/edit/ => http://mysite.com/index.php?action=profile&sa=edit

Вот переписывание в htaccess:

RewriteRule ^([^/]*)/([^/]*)/$ /index.php?action=$1&sa=$2 [L]

^ Так что это прекрасно работает.

Теперь у меня также есть следующий URL:

http://mysite.com/search/editorials/ => http://mysite.com/index.php?action=search&category=editorials

Переписывание, которое следует за предыдущим правилом переписывания, опубликованным выше:

RewriteRule ^([^/]*)/([^/]*)/$ /index.php?action=$1&category=$2 [L]

^ Это не работает. Я проверил массив $ _SERVER, и это то, что перенаправляется в строку запроса:

action=search&sa=editorials

Я занимался этим уже целый день, пробовал разные уроки, но безуспешно. Как мне заставить это работать?

Любая помощь приветствуется. Спасибо.

1 Ответ

1 голос
/ 05 марта 2011

Два переписывания противоречат друг другу. Вам нужно создать какое-то различие между ними

RewriteRule ^ account / (. ) / ([^ /] ) / $ /index.php?action=$1&sa=$2 [L]

RewriteRule ^ ([^ /] ) / ([^ /] ) / $ /index.php?action=$1&category=$2 [L]

или согласовывают параметры и используют одно перезапись:

RewriteRule ^ ([^ /] ) / ([^ /] ) / $ /index.php?action=$1&parm1=$2 [L]

...