Как перенаправить с веб-сайта локального домена www.mydomain.com/website на www.mydomain.com
Я установил простой веб-сервис (MediaWiki) на моем локальном сервере. На моем сервере DSN я установил IP-адрес для этого веб-сервера, поэтому теперь, когда я звоню в браузере (это работает только в диапазоне IP-адресов моего домена) www.mydomain.com
Я получаю сайт Apache, когда я звоню www.mydomain.com/mediawiki
тогда мой сайт в MediaWiki открыт.
Могу ли я сделать это в браузере (все же я хочу, чтобы это работало только в диапазоне доменов) я звоню www.mydomain.com
открывается - перенаправляет на www.mydomain.com/mediawiki
?
1 ответ
Для этого вам необходимо изменить содержимое файла конфигурации виртуального хоста по умолчанию 000-default.conf
который расположен в /etc/apache2/sites-available/
, Или вы можете создать новый файл конфигурации виртуального хоста, затем вы должны отключить 000-default.conf
и включите новый.
Давайте предположим, что вы решили создать новый файл конфигурации VH, давайте назовем его www.mydomain.com.conf
, он должен быть расположен в /etc/apache2/sites-available/
и его содержание должно быть примерно таким:
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAdmin your-admin@email.com
# According MWiki Manual:Security
php_flag register_globals off
ErrorLog ${APACHE_LOG_DIR}/www.mydomain.com.error.log
CustomLog ${APACHE_LOG_DIR}/www.mydomain.com.access.log combined
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
DocumentRoot "/var/www/www.mydomain.com"
<Directory "/var/www/www.mydomain.com">
Options None FollowSymLinks
#Allow .htaccess:
AllowOverride All
Require all granted
</Directory>
# According to MWiki Manual:Security
<Directory "/var/www/www.mydomain.com/images">
Options -Indexes
# Allow .htaccess files
AllowOverride All
# Serve HTML as plaintext, don't execute SHTML
AddType text/plain .html .htm .shtml .php .phtml .php5
# Don't run arbitrary PHP code.
php_admin_flag engine off
# If you've other scripting languages, disable them too.
</Directory>
# According to MWiki Manual:Security
<Directory "/var/www/www.mydomain.com/images/deleted">
Deny from all
AllowOverride AuthConfig Limit
Require local
</Directory>
</VirtualHost>
Затем отключить 000-default.conf
, включить www.mydomain.com.conf
и перезапустите (или перезагрузите) конфигурацию Apache:
sudo a2dissite 000-default.conf
sudo a2ensite www.mydomain.com.conf
sudo systemctl restart apache2.service
Ключевым моментом здесь является то, что вы изменили DocumentRoot
виртуального хоста в каталог установки MediaWiki. Я предполагаю, что здесь этот каталог /var/www/www.mydomain.com
,
Кроме того, если вы хотите обслуживать свои статьи вики www.mydomain.com/wiki/Article_name
, вместо www.mydomain.com/index.php/Article_name
Вы можете добавить следующие строки в .htaccess
файл, расположенный в DocumentRoot
каталог:
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
</ifModule>
И измените свой LocalSettings.php
следующим образом:
$wgScriptPath = "";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
Ссылки на эту дополнительную часть:
И еще одно замечание по безопасности:
- Я бы включил HTTPS и перенаправил бы на него всех пользователей.
Читайте также: