Инструменты пользователя

Инструменты сайта


beget:dokuwiki:anti_www

Настройка перенаправления с www для DokuWiki

Из-за проблемы с установкой и перевыпуском сертификатов пришлось вернуть подзоны www. Из-за подзон www пришлось делать так, чтобы о них ни кто не знал и никогда не узнал! Другими словами – нам не нужны лишние зеркала сайта.

robots.txt

Он простой, как… простой в общем. Директива Host была добавлена как раз ввиду вышенаписанного.

robots.txt
User-agent: *
Disallow: /playground/
Disallow: /wiki/
Allow: /
 
Host: https://wiki.soloshin.su
 
Sitemap: https://wiki.soloshin.su/doku.php?do=sitemap

Директива Allow, скорее всего не нужна, но инструмент проверки файла robots.txt о ней очень позитивно отзывался зелененьким цветом, что я решил ее оставить. LOL

Нюансы слеша

Небольшая статейка о слешах в конце путей.

.htaccess

В .htaccess нужно добавить немного больше, аж 3 строчки, одна их которых там скорее всего уже есть!

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.wiki.soloshin.su
RewriteRule (.*) https://wiki.soloshin.su/$1 [R=301,L]

Но тут закрался нюанс – эту конструкцию нужно поместить не в конец файла, а сразу после RewriteEngine on, если таковой имеется. В моем случае, это вот так:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.wiki.soloshin.su
RewriteRule (.*) https://wiki.soloshin.su/$1 [R=301,L]

RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
RewriteRule ^$                        doku.php  [L]
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
RewriteRule ^index.php$               doku.php

Если сделать не так, то при заходе на главную страницу сайта или по прямой ссылке, «Удобочитаемые адреса» (userewrite=1) будут работать не правильно и вместо ожидаемого, к примеру, https://wiki.soloshin.su/beget/index мы будем попадать на https://wiki.soloshin.su/doku.php?id=beget/index, что немного обидно.


Дисклеймер

  • Использование материалов данной базы знаний разрешено на условиях лицензии, указанной внизу каждой страницы! При использовании материалов активная гиперссылка на соответствующую страницу данной базы знаний обязательна!
  • Автор не несет и не может нести какую либо ответственность за последствия использования материалов, размещенных в данной базе знаний. Все материалы предоставляются по принципу «как есть». Используйте их исключительно на свой страх и риск.
  • Все высказывания, мысли или идеи автора, размещенные в материалах данной базе знаний, являются исключительно его личным субъективным мнением и могут не совпадать с мнением читателей!
  • При размещении ссылок в данной базе знаний на интернет-страницы третьих лиц автор не несет ответственности за их техническую функциональность (особенно отсутствие вирусов) и содержание! При обнаружении таких ссылок, можно и желательно сообщить о них в комментариях к соответствующей статье.

Обсуждение

Ваш комментарий:
K K V B J N X X Q N S U C R I X
 
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)