Назад | Перейти на главную страницу

преобразование правила Lighttpd в правила Apache

Я использую mediawiki на своем сервере localhost. мой URL-адрес сейчас 127.0.0.1:8080/wiki/index.php/Main_Page

Но я хочу преобразовать вышеупомянутый URL-адрес в wiki.127.0.0.1: 8080 или что-то вроде wiki.nikunj.com, если мой вики-URL - это www.nikunj.com/wiki

Я прочитал эту статью http://www.mediawiki.org/wiki/Manual:Short_URL но не смог этого добиться.

Они рассказали, как преобразовать www.example.com в wiki.example.com, но с использованием Lighthttpd.

вот код:

$HTTP["host"] == "wiki.example.com" {
server.document-root = "/path/to/webroot"
url.rewrite-once = (
"(^/[^:]*[\./].*)" => "$1",
"^/([^?]*)(?:\?(.*))?" => "/w/index.php?title=$1&$2",
)
}

Также у меня есть сайт вроде www.nikunj.com. Я установил вики на www.nikunj.com/wiki, теперь хочу перенести ее на wiki.nikunj.com

Я пробовал это, но это не сработало.

С mod_rewrite:

<VirtualHost *:80>
ServerName wiki.nikunj.com
RewriteEngine on
RewriteRule ^/(.*) http://www.nikunj.com/wiki/$1 [R,L]
</VirtualHost>

С mod_alias:

<VirtualHost *:80>
ServerName wiki.nikunj.com
RedirectMatch ^/(.*) http://www.nikunj.com/wiki/$1
</VirtualHost>

Но это не работает, пожалуйста, помогите мне.

Lighthttpd url.rewrite-once перезаписывает URL-адреса внутри. Предложенный вами код конфигурации Apache будет служить для перенаправления в обоих случаях.

Для объяснения кода lighttpd: http://redmine.lighttpd.net/projects/1/wiki/Docs_ModRewrite#urlrewrite-once

На самом деле вам не нужно делать ничего особенного, чтобы использовать wiki.nikunj.com вместо nikunj.com. Просто используйте директивы ServerName и DocumentRoot, как для любого VirtualHost.

Если ваши файлы MediaWiki находятся в / path / to / webroot / wiki, тогда ваша директива DocumentRoot будет выглядеть, как в примере ниже:

<VirtualHost *:80>
ServerName wiki.nikunj.com
DocumentRoot /path/to/webroot/wiki
</VirtualHost>

+++++

Вам также потребуется добавить предложенный MediaWiki код перезаписи Apache: http://www.mediawiki.org/wiki/Manual:Short_URL/Apache

В приведенном выше коде, где wiki.nikunj.com использует / path / to / webroot / wiki, вам нужно будет включить этот код перезаписи либо в /path/to/webroot/wiki/.htaccess, либо в указанный выше блок VirtualHost.

## http://www.mediawiki.org/wiki/Manual:Short_URL/Apache
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ /index.php [L]
RewriteRule ^/*$ /index.php [L]