руководство пользователя (seo + автогенерация) - PullRequest
7 голосов
/ 05 февраля 2012

У меня есть веб-сайт, который позволяет людям получить руководство онлайн. У меня есть новая версия руководства, где все генерируется динамически с использованием php и mysql. поэтому больше не генерируется HTML.

У меня есть руководство на французском и английском языках. я узнаю, что для поисковых систем было бы хорошо, если бы у меня был URL, который дружит с gogole, yahoo и т.д. ...

Теперь вот моя проблема:

Я хочу показать URL как это:

  • / manual /, которая перейдет на главную страницу руководства, где пользователь выбирает lang
  • / manual / fr / отобразит список всех доступных глав
  • / manual / fr / 1.0 отобразит главу 1

у меня появилась идея, где мне нужно использовать что-то вроде:

rewriterule /manual/(.*)/(.*)/(.*)/ index.php?lang=$1& ...

Могу ли я сделать это, используя 1 правило? или мне нужно несколько?

Большое спасибо

1 Ответ

11 голосов
/ 05 февраля 2012

Вот что вам нужно сделать:

RewriteEngine On
RewriteRule ^manual/?$ index.php?action=selectLang [L,NC,QSA]
RewriteRule ^manual/(fr|en)/?$ index.php?action=listChapter&lang=$1 [L,NC,QSA]
RewriteRule ^manual/(fr|en)/([0-9\.]+)(/[^/]+)?/?$ index.php?action=listChapter&lang=$1&chapter=$2 [L,NC,QSA]

Первый загрузит страницу, где пользователь выбирает язык.В вашем PHP вы можете проверить $_GET['action'], чтобы загрузить страницу «выберите язык».Вторая та же идея, что и первая, но для списка глав.Теперь третий, вы можете использовать /manual/fr/1.0 или /manual/fr/1.0/chapter-title.Это будет работать лучше для SEO, если вы добавите заголовок.

[] в конце каждого RewriteRule флага, узнайте больше здесь: http://httpd.apache.org/docs/2.3/rewrite/flags.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...