


Several methods for Apache http to automatically jump to https
当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS。这时候你可以用以下的方式来做到:
在启用了 https 之后,还要保证之前的 http 端口可以打开,http 的 80 端口是有两个网址的,所以这就导致需要把原来的带 wwww 和不带 www 的域名同时指定一个 https 网址上面,需
要做两个 Apache 的301重定向,这个其实是很简单的,夏日博客的做法是直接在 .htaccess 文件中添加两个 301 即可,如下所示:
rewritecond %{http_host} ^www.php.cn [nc] RewriteRule ^(.*)?$ https://www.php.cn/$1 [R=301,L] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://www.php.cn/$1 [R=301,L]
第一个 301 很自然就是带 www 的跳转到新的 https 上面了,而下面的301重定向则是判断如果端口不是80的话,则进行重定向,这样的话,带www和不带www的域名就一起跳转到 https 一个网址上面了,当然这种全站做301的方法是比较暴力的,通常情况下我们只要把主域名做个301就可以了,我这里是因为启用了原来的两个域名。
PHP中文网还手机了一些其它的 Apache http 跳转到 https 的方法,仅供参考:
方法1
RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.php.cn/$1 [R=301,L]
方法二
RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]
#整站跳转
方法三
RewriteEngine on RewriteBase /yourfolder RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L] RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
#以上至针对某个目录跳转, yourfolder就是目录名
方法4
redirect 301 /你的网页 https://你的主机+网页
#至针对某个网页跳转
方法5
RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/tz.php RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
解释:
%{SERVER_PORT} —— 访问端口
%{REQUEST_URI} —— 比如如果url是 http: //localhost/tz.php,则是指 /tz.php
%{SERVER_NAME} —— 比如如果url是 http: //localhost/tz.php,则是指 localhost
以上规则的意思是,如果访问的url的端口不是443,且访问页面不是tz.php,则应用RewriteRule这条规则。
这样便实现了:访问了 http: //localhost/index.php 或者 http: //localhost/admin/index.php 等页面的时候会自动跳转到 https: //localhost/index.php 或者 https: //localhost/admin/index.php,但是访问 http: //localhost/tz.php 的时候就不会做任何跳转,也就是说 http: //localhost/tz.php 和 https: //localhost/tz.php 两个地址都可以访问

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











To set up a CGI directory in Apache, you need to perform the following steps: Create a CGI directory such as "cgi-bin", and grant Apache write permissions. Add the "ScriptAlias" directive block in the Apache configuration file to map the CGI directory to the "/cgi-bin" URL. Restart Apache.

There are 3 ways to view the version on the Apache server: via the command line (apachectl -v or apache2ctl -v), check the server status page (http://<server IP or domain name>/server-status), or view the Apache configuration file (ServerVersion: Apache/<version number>).

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

When the Apache 80 port is occupied, the solution is as follows: find out the process that occupies the port and close it. Check the firewall settings to make sure Apache is not blocked. If the above method does not work, please reconfigure Apache to use a different port. Restart the Apache service.

How to view the Apache version? Start the Apache server: Use sudo service apache2 start to start the server. View version number: Use one of the following methods to view version: Command line: Run the apache2 -v command. Server Status Page: Access the default port of the Apache server (usually 80) in a web browser, and the version information is displayed at the bottom of the page.

How to configure Zend in Apache? The steps to configure Zend Framework in an Apache Web Server are as follows: Install Zend Framework and extract it into the Web Server directory. Create a .htaccess file. Create the Zend application directory and add the index.php file. Configure the Zend application (application.ini). Restart the Apache Web server.

Apache cannot start because the following reasons may be: Configuration file syntax error. Conflict with other application ports. Permissions issue. Out of memory. Process deadlock. Daemon failure. SELinux permissions issues. Firewall problem. Software conflict.

To delete an extra ServerName directive from Apache, you can take the following steps: Identify and delete the extra ServerName directive. Restart Apache to make the changes take effect. Check the configuration file to verify changes. Test the server to make sure the problem is resolved.
