Apache 使用以https开头的虚拟主机域名重定向
我正在尝试将ME.com或www.ME.com重定向到.com。 下面的代码可以工作,但当我键入.com时,它不会转到.com。我得到一个错误,页面不安全。 代码如下:Apache 使用以https开头的虚拟主机域名重定向,apache,mod-rewrite,redirect,virtualhost,Apache,Mod Rewrite,Redirect,Virtualhost,我正在尝试将ME.com或www.ME.com重定向到.com。 下面的代码可以工作,但当我键入.com时,它不会转到.com。我得到一个错误,页面不安全。 代码如下: <VirtualHost *:80> ServerAdmin admin@ME dot com ServerName ME dot com ServerAlias www dot ME dot com RewriteEngine on RewriteCond %{HTTP_HOST} ^www dot ME
<VirtualHost *:80>
ServerAdmin admin@ME dot com
ServerName ME dot com
ServerAlias www dot ME dot com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www dot ME dot com
RewriteRule ^/(.*)$ http://NOTME dot com/$1 [L,R=301]
Redirect permanent / https://NOTME dot com/
DocumentRoot /var/www/xxx/xxx/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/xxxx/xxxxx/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
还要注意的是,我set ME.com有一个我删除的https证书,该证书设置在虚拟主机端口443。我还能把证书还给它吗?
此外,ME.com和NOTME.com都位于同一服务器IP上。这就是我解决此问题的方法:
<VirtualHost *:443>
ServerAdmin x@ME.com
ServerName ME.com
ServerAlias www.ME.com
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www.ME.COM/$
RewriteRule ^/(.*)$ https://NOTME.COM/$1 [L,R=301]
Redirect permanent / https://NOTME.COM/
SSLEngine on
SSLCertificateFile /xxxxxxxxxxxx.crt
SSLCertificateKeyFile /xxxxxxxxxxxx.key
SSLCertificateChainFile /xxxxxxxxxxxxxx.crt
实际上,解决方案是永久重定向到NOTME.com