URL переписать на PHP со строкой запроса для SEO-дружественных - PullRequest
1 голос
/ 30 января 2012

Я новичок в правилах перезаписи URL и хотел бы переписать некоторые URL. Ниже моя проблема:

Я создал два правила (которые отлично работают), которые скрывают расширение * .php от URL. Одним из них является перенаправление "/abc.php" в "/ abc". Другое правило - переписать / 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

1 Ответ

0 голосов
/ 30 января 2012

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

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

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

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

...