2013-06-26 2 views
0

Мне нужно сделать некоторые URL-адреса статичными для улучшения SEO на моем сайте. Я смог выработать несколько простых URL-адресов, но следующие из них приносят мне массу неприятностей. Я новичок в этом.Преобразование динамических URL-адресов в статические [SEO]

Я пишу некоторые правила для следующих URL-адресов, но я не смог заставить их работать.

Я следующие URL-адреса

Динамические URL

http://www.site.net/project.php?projectid=2 
http://www.site.net/project.php?projectid=2&do=issuelist 
http://www.site.net/project.php?projectid=2&do=issuelist&issuetypeid=bug 

Я хотел бы сделать их статические адреса, чтобы получить что-то вроде этого:

Статические URL

http://www.site.net/project-2.html 
http://www.site.net/project-2/do-issuelist/ 
http://www.site.net/project-2/do-issuelist/type-bug.html 

тип данных Params

ProjectID:числовая

сделать:текст

issuetypeid:текст

Мой хостинг работает под управлением Linux, поэтому мне нужно это для Apache, а не для IIS.

Каковы будут правила перезаписи URL для .htaccess?

Спасибо за ваше время.

+1

Подробный блог: http://sforsuresh.in/url-rewriting-using-htaccess-modrewrite/ –

ответ

1

Я хотел бы предложить следующую структуру вместо:

http://www.site.net/project/2 
http://www.site.net/project/2/issuelist 
http://www.site.net/project/2/issuelist/bug 

Таким образом, вы можете сделать /project/ тракта зарезервированного термин (до тех пор, пока вы не в настоящее время и не планируем иметь фактический Топ- на вашем сайте с именем «проект»). Это позволяет избежать необходимости использовать несколько директив RewriteCond для проверки того, что запрос не предназначен для действительного файла или каталога каждый раз.

Если эта модель подходит вам, то следующие правила должны сделать трюк в вашем файле .htaccess:

RewriteRule ^project/([0-9]+)$ /project.php?projectid=$1 
RewriteRule ^project/([0-9]+)/([a-zA-Z0-9_-]+)$ /project.php?projectid=$1&do=$2 
RewriteRule ^project/([0-9]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /project.php?projectid=$1&do=$2&issuetypeid=$3 

Вышеуказанные модели RewriteRule позволяют значения do и issuetypeid содержать строчные, прописные, цифры , подчеркивания и дефисы, но вы должны изменить шаблоны в соответствии с фактическими ограничениями, которые ваш сайт разрешает для этих переменных.

+0

Спасибо большое за это! Это было действительно полезно. :) – Lucas