Дружественные поисковой системе URL

Я работаю над созданием моей первой дружественной для поисковых систем CMS. Я знаю, что, возможно, одним из главных ключей к созданию сайта SEO является наличие URL-адресов, удобных для поисковых систем. Таким образом, имея такую ​​ссылку:

http://www.mysite.com/product/details/page1

приведет к гораздо лучшему ранжированию, чем такой:

http://www.mysite.com/index.php?pageID=37

Я знаю, что для создания URL-адресов, подобных первому, у меня есть один из двух вариантов:

  • использовать веб-технологию, в данном случае PHP, для создания структуры каталогов
  • использовать Apache's mod_rewrite надстройка для передачи этих URL-адресов процессору PHP

Что касается PHP, я вполне доволен всем. Однако я думаю, что первый вариант будет сложнее поддерживать.

Может ли кто-нибудь показать мне, как написать .htaccess файл, который будет:

  • молча направлять URL-адреса SEO в сценарий процессора
  • не перенаправлять, если запрошенный URL-адрес является действительным каталогом на сервере

Есть ли лучший способ, чем то, как я это пробую?

2 ответа

Решение

Вы можете использовать.htaccess для apache, создать файл в корневой папке в Интернете, в основном "htdocs", назовите его ".htaccess", добавить следующий контент к нему.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    Options -Indexes
</IfModule>

в вашем php файле вы можете получить доступ к данным из $_GET

$_GET['url'];

Затем вы можете использовать данные для анализа того, что вам нужно.

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

Самый простой способ сделать это - иметь PHP-файл с именем product.php или же product/details.php и использовать $_SERVER\['PATH_INFO'\] переменная, чтобы выяснить, что запросил клиент.

Другие вопросы по тегам