2012-01-30 7 views
1

Я новичок в правилах перезаписи URL и хотел бы переписать некоторые URL-адреса. Ниже моя проблема:URL Rewrite на PHP с строкой запроса для SEO-friendly

Я создал два правила (которые отлично работают), которые скроют расширение * .php из URL. Один из них - перенаправить «/abc.php» на «/ abc». Другое правило: Rewrite/abc как /abc.php. Эти два правила работают нормально, и я использую следующий шаблон.

  • ^([^/]+)/?\.php$ -> Перенаправление ->{R:1}
  • ^([^/]+)/?$ -> переписывает к ->{R:1}.php

Теперь у меня есть проблема. У меня есть страница, которая выглядит как www.example.com/member?getuser=chris (обратите внимание, что это не member.php?getuser=chrisyeung из-за предыдущих правил). Я хочу, чтобы переписать URL в:

www.example.com/member/chris 

Я пытался следовать некоторым учебникам и использовать следующий шаблон:

`^/member/(_[0-0a-z-]+)` --> Rewrites to --> `^member?getuser={R:1}`. 

... но она не работает.

Что мне не хватает?

screenshot of edit outbound rule screenshot 2 of edit outbound rule

ответ

0

Я не unterstand свои первые два правила. Перепишите *.php в * и * в *.php - звучит как петля для меня. Я предполагаю, что ваши файлы имеют имя .php и вы хотите, чтобы ваши посетители использовали URL-адреса без расширения этого файла. Затем просто перепишите * в *.php.

Для ваших страниц членов, используйте:

^/member/([0-9a-zA-Z-_]+) member.php?getuser={R:1} [QSA] 

Я изменяет список допустимых символов внутри [] и я называю member.php напрямую - нет необходимости в выдаче еще одно правило. QSA предназначен для передачи дополнительных параметров URL.

+0

Благодарим вас за ответ. Чтобы ответить на первую часть вашего ответа, я использовал два правила, потому что один используется для перезаписи, а другой используется для перенаправления. Я просто использовал «UserFriendlyURL Tool» в модулях перенаправления URL-адресов, и он выходит с двумя правилами. –

+0

Без двух правил вместе. клиенты могут посещать мои сайты, используя оба адреса: www.example.com/abc.php и www.example.com/abc. И я только хочу, чтобы люди увидели www.example.com/abc, даже если у них есть вход .php в конце. –

+0

Для второй части я по-прежнему не могу переписать URL-адрес. Я загрузил изображение по моему вопросу, что мне добавить? –

Смежные вопросы