Как перенаправить с веб-сайта локального домена 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";

Ссылки на эту дополнительную часть:


И еще одно замечание по безопасности:

Читайте также:

Другие вопросы по тегам