Преобразование правила 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]