У меня есть несколько переписанных 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
Я занимался этим уже целый день, пробовал разные уроки, но безуспешно. Как мне заставить это работать?
Любая помощь приветствуется. Спасибо.
Два переписывания противоречат друг другу. Вам нужно создать какое-то различие между ними
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]