Ubuntu 14.04 и версия сервера: Apache / 2.4.16 (Ubuntu)
Правило перенаправления не работает или я что-то упустил? Когда я печатаю в браузере, я хочу использовать https://teampass.domain.org, но вместо того, чтобы https://teampass.domain.org/teampass - единственный действующий URL. Я что-то упускаю? Как я могу использовать https://teampass.domain.org
больше / etc / hosts
127.0.0.1 localhost
127.0.1.1 teampass
192.*.*.* teampass teampass.domain.org
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Подробнее /etc/apache2/apache2.conf
ServerRoot "/etc/apache2"
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
# Include list of ports to listen on
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
</Directory>
<Directory /srv/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
# phpMyAdmin Configuration
Include /etc/phpmyadmin/apache.conf
#load ssl module
#LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
подробнее /etc/apache2/sites-enabled/default-ssl.conf
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName teampass.domain.org
Serveralias www.teampass.domain.org
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCACertificateFile /etc/apache2/ssl/DigiCertCA
SSLCertificateFile /etc/apache2/ssl/star_domain_org
SSLCertificateKeyfile /etc/apache2/ssl/teampass.key
</VirtualHost>
подробнее /etc/apache2/sites-enabled/teampass.conf
<VirtualHost *:80>
ServerName teampass
Redirect permanent / https://teampass.domain.org/
ServerAdmin webmaster@localhost
ServerAlias www.teampass.domain.org
DocumentRoot /var/www/html/teampass
<Directory /var/www/html>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_rewrite.c>
# DO NOT REMOVE
RewriteOptions Inherit
</IfModule>
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName teampass.domain.org
#ServerAlias www.teampass.domain.org
DocumentRoot /var/www/html/teampass
SSLCertificateFile /etc/apache2/ssl/star_domain_org
SSLCertificateKeyfile /etc/apache2/ssl/teampass.key
SSLCACertificateFile /etc/apache2/ssl/DigiCertCA
SSLEngine on
ErrorLog ${APACHE_LOG_DIR}/teampass_error.log
CustomLog ${APACHE_LOG_DIR}/teampass_access.log combined
<IfModule mod_rewrite.c>
# DO NOT REMOVE
RewriteOptions Inherit
</IfModule>
</VirtualHost>
Конфигурация виртуального хоста для вашего сайта teampass.domain.org
не будет работать так, как http и https на одном сайте виртуального хоста (teampass.conf).
У вас такое же имя сервера teampass.domain.org
для default-ssl
site, поэтому он работает, и вы можете получить доступ к сайту, но не так, как хотите, потому что DocumentRoot указывает на /var/www/html
.
Вы можете изменить DocumentRoot на /var/www/html/teampass
в вашем файле default-ssl и отключите другой файл виртуального хоста.
Или вам нужно создать два разных сайта (с двумя файлами .conf и включить их) для http (80) и https (ssl) и отключить сайт по умолчанию ssl.
Вам также необходимо исправить синтаксис для Options
для apache 2.4.