Нормальные URL у тегов
Материал из Movable Type Wiki
При использовании стандартных шаблонов Movable Type URL тегов выглядят следующим образом:
http://example.com/cgi-bin/mt/mt.cgi?mt-search.cgi?blog_id=1&tag=tagname&limit=20
Не очень красивый и запоминающийся адрес, поэтому лучше сделать подобное:
http://example.com/tag/tagname
Как сделать нормальные URL у тегов
- Для начала нужно выполнить поиск в шаблонах по фразе «TagSearchLink», результат отобразит все шаблоны, в которых есть тег
<mt:TagSearchLink />
. - Этот тег нужно заменить на следущее:
<mt:BlogURL />tag/<MTTagName encode_url="1" />
- После изменения шаблонов, нужно полностью опубликовать сайт. А также добавить в файл .htaccess следующую строчку:
RewriteEngine on RewriteRule ^tag/(.*)$ /cgi-bin/mt/mt-search.cgi?blog_id=1&tag=$1&limit=20
Если блоги на разных доменах
Чтобы использовать такой метод для блогов, которые находятся на домене, отличном от домена, на котором находится Movable Type, необходимо добавить в httpd.conf, в VirtualHost
домена следующий параметр:
ScriptAlias /cgi-bin/ /home/username/example.com/cgi-bin/
То есть нужно указать, чтобы на этот домене папка скриптов располагалась в том месте, где располагается Movable Type.
После внесения изменений в httpd.conf, необходимо добавить в .htaccess параметры, аналогичные указанным выше.
В каком случае это необходимо:
- По адресу
example.com/cgi-bin/mt/
располагается админка. - Путь на сервере к этой папке для этого домена —
/home/username/example.com/cgi-bin/mt
. - Второй блог располагается по адресу
example.org
. Для него стандартное расположение папкиcgi-bin
будет вида/home/username/example.org/cgi-bin
. Поэтому необходимо для домена example.org переназначить расположение папки cgi-bin, чтобы при запросе example.org/cgi-bin/mt/ обрабатывались скрипты из каталога /home/username/example.com/cgi-bin/mt.
См. также
- Модуль Apache mod_rewrite (англ.)