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

Я использую MediaWiki на моем локальном сервере. мой URL на данный момент 127.0.0.1:8080/wiki/index.php/Main_Page

Но я хочу преобразовать вышеупомянутый URL в wiki.127.0.0.1:8080 или что-то вроде wiki.nikunj.com, если мой wiki - это 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>

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

1 ответ

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

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

На самом деле вам не нужно делать ничего особенного, чтобы использовать 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]
Другие вопросы по тегам