======Переписывание URL-адресов====== По умолчанию DokuWiki не перезаписывает URL-адреса , в результате чего URL-адреса выглядят следующим образом: http://example.com/doku.php?id=wiki:syntax Эти URL-адреса несколько уродливы и могут плохо индексироваться некоторыми поисковыми системами. Переписывание URL-адресов предлагает решение этой проблемы, приводящее к более красивым URL-адресам. =====Варианты переписывания===== DokuWiki поддерживает два метода перезаписи URL , включаемых через опцию [[wiki:config:userewrite|userrewrite]]. Один из них основан на возможностях перезаписи веб-сервера; другой обрабатывает переписанные URL внутри DokuWiki. В таблице ниже обобщены эти опции. ^ Ценить ^ Информация ^ Пример URL-адреса ^ | 0 | Перезапись URL не используется. Это значение по умолчанию. | %%http://example.com/dokuwiki/doku.php?id=wiki:syntax%% | | 1 | Перезапись выполняется веб-сервером. | %%http://example.com/dokuwiki/wiki:syntax%% | | 2 | Переписыванием занимается DokuWiki. | %%http://example.com/dokuwiki/doku.php/wiki:syntax%% | Перезапись URL-адресов отключена по умолчанию, поскольку для этого требуется дополнительная настройка помимо установки соответствующих [[wiki:config:userewrite|параметров конфигурации]] - эти конфигурации обсуждаются ниже. ====Вариант 1: веб-сервер==== Для этой опции сначала требуется настройка на веб-сервере. Как включить ее, зависит от используемого веб-сервера. Пожалуйста, обратитесь к ссылкам ниже для получения дополнительной информации. * [[wiki:install:apache|Apache]] – использует модуль mod_rewrite . Его можно включить с помощью .htaccessфайла. (см. [[https://www.dokuwiki.org/install:apache|Апачи]]) * [[wiki:install:iis|iis]] – использует пользовательские правила перезаписи или модуль перезаписи * [[wiki:install:nginx|nginx]] – имеет встроенную поддержку перезаписи * [[wiki:install:php-webserver|Встроенный веб-сервер PHP]] — не требует настройки, перезапись будет работать с использованием маршрутизатора DokuWiki index.php После включения поддержки перезаписи на веб-сервере эту опцию можно включить в конфигурации DokuWiki. Выберите ''%%.htaccess%%'' опцию в раскрывающемся списке конфигурации перезаписи пользователя . Либо ''%%conf/local.php%%'' добавьте или измените строку в вашем файле так, чтобы она выглядела так: $conf [ 'userrewrite' ] = 1 ; В корневой папке DokuWiki найдите файл ''.htaccess.dist'' и скопируйте его как ''.htaccess''. Отредактируйте его и раскомментируйте строки, относящиеся к userwrite. Это короткий файл, который легко понять. ====Вариант 2: DokuWiki==== Эта опция не требует настройки веб-сервера. Однако она опирается на функцию PATH_INFO стандарта CGI, реализованную Apache. Некоторые конфигурации веб-сервера могут ее не поддерживать. Чтобы включить эту опцию, выберите ''DokuWiki internal'' опцию в раскрывающемся списке конфигурации [[wiki:config:перезаписи пользователя]]. Либо ''conf/local.php'' добавьте или измените строку в вашем файле так, чтобы она выглядела так: $conf['userewrite'] = 2; =====Очистить идентификатор сеанса PHP==== Несмотря на использование «чистых» URL-адресов, вы можете столкнуться с параметром «DokuWiki» в URL-адресе , который выглядит следующим образом: Идентификатор сеанса PHP: http://example.com/example?DokuWiki=c81a95369a66576982119e2a60b557a5 Этот параметр — идентификатор сеанса PHP, который PHP добавляет автоматически. Он совершенно не связан с перезаписью. Чтобы избежать этого, вы можете заставить PHP всегда использовать куки для сеансов, установив опцию ''session.use_only_cookies'' для PHP. Обычно это делается в файле конфигурации php.ini: session.use_only_cookies=1 Вы также можете попробовать: session.use_trans_sid=0 =====Смотрите также===== * [[wiki:tips:httpslogin|Переписать правила для безопасного входа]] * [[https://stackoverflow.com/questions/9153262/tips-for-debugging-htaccess-rewrite-rules | Советы по отладке правил перезаписи .htaccess]]