2009-09-20 4 views
1

Моего сайта в настоящее время обрабатывает URL, как это ...Должен ли я использовать mod_rewrite для URL-адресов моего сайта?

/?p=home 
/?p=profile&userid=1 
/?p=users.online 
/?p=users.online&page=23 
/?p=mail.inbox 
/?p=mail.inbox&page=12 

... и так далее, то, вероятно, по крайней мере, 120-150 разных страниц, на моем сайте страница построена так,

index.php включает в себя основной конфигурационного файла, который затем включает в себя функции/файлов класс в него
index.php затем включает филы в заголовка е
index.php затем включает файл страницу, которая из URL? р = ИмяСтраницы
index.php затем включает FOOTER файл размером

Вот как каждая страница на моем сайт скомпилирован через такую ​​индексную страницу, и я рассматривал/думал об очистке URL-адреса, так как я переписываю/реструктурировал большую часть кода моих сайтов прямо сейчас, это идеальное время, чтобы сделать это, если я собираюсь сделай это. Что я имею в виду очистительные вверх по URL, используют моды-рерайт поэтому структура URL выше будет выглядеть следующим образом вместо того, чтобы ...

/home 
/users/1 //user ID might switch to use username as well 
/users/online 
/users/online/23 or /users/online/page/23 
/mail/inbox 
/mail/inbox/12 

Итак, прежде всего, есть ли обвалы на этом, делает это создать намного больше обработки, так как она использует mod_rewrite?

Также было бы трудно написать регулярное выражение или все, что необходимо для соответствия именам файлов в формате, который я показываю выше, я перечислял только несколько страниц, но было бы по меньшей мере 100 разных URL-адресов, которые у меня есть блоги, бюллетени, форумы, всевозможные вещи

+2

Ответ отсутствует, но с точки зрения ваших пользователей * просьба * сделать это: любой URL-адрес с строкой запроса несовместим в соответствии со спецификацией. Таким образом, ваша текущая структура заставляет повторно использовать GET каждый раз. –

+0

@ T.J. Кроудер: Согласно какой спецификации? Пожалуйста, подтвердите это утверждение. – Gumbo

+0

@Gumbo: спецификация HTTP, раздел 13.9, например, http://www.faqs.org/rfcs/rfc2616.html –

ответ

8

Абсолютно. Это одна из главных целей Apache, поэтому она была разработана, чтобы сделать это очень эффективно. Фактически, я бы предложил вам использовать этот метод.

  1. Это делает чистые URL-адрес для посетителей
  2. Это фантастика для SEO
  3. Это делает сайт более профессионального
  4. Это делает его более удобным для пользователей угадать URL, если они пытаются найти определенную страницу без фактически просматривая ваш сайт ti.

Там нет нет обвалов и тонна преимуществ для использования этого URL структуры. Действуй!

+0

Упс. «Nope» был ответом на его вопрос: «Это создает больше обработки?» Исправлено - спасибо. – BraedenP

+0

спасибо за ответ, 1 вещь, о которой я не сомневался, - это многие из моих разделов. У меня есть пейджинг, например page = 12, поэтому я не знал, вызывает ли этот woyuld проблему, когда нет страницы для этой страницы, например, если вы приведены на странице 1, тогда он не отображает данные подкачки в URL-адресе. – JasonDavis

+0

jason: Получите помощь по вашим конкретным проблемам с регулярным выражением, когда вы их испытываете. Пойдите, чтобы получить реализацию теперь ... Кроме того, ЛЕГКО перейти от blah/whatever/p # к вашей строке запроса ... –

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