Я использую 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]