更改我的Web应用程序的URL

时间:2013-02-11 07:16:02

标签: php http https

我有一个由php开发的Web应用程序。我可以通过使用http://www.example.com之类的网址来访问该应用程序。现在我需要,只要用户在网址中输入example.com,它就会显示https://www.example.com而不是http://www.example.com。 是否可以或者我必须在代码开发过程中从头开始关注https? 请帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:3)

让您的服务器发出HTTP 301状态,并将Location标头重定向到HTTPS站点。

您可以使用header函数在PHP级别执行此操作,但我会在Web服务器级别执行此操作。在Apache HTTPD(您没有指定服务器)中,在端口80 HTTP站点的虚拟主机配置中只需要Redirect 301 / https://example.com/

(注意:Apache Redirect指令将维护URI的其余部分,因此http://example.com/foo将重定向到https://example.com/foo,依此类推)

答案 1 :(得分:0)

在htaccess中尝试

用于具有域

的Web服务器
 RewriteEngine on
 RewriteCond %{REQUEST_URI} ^https://www.example.com/(.*)$
 RewriteRule %{REQUEST_URI}  https://www.example.com/$1 [S=1,L]

 RewriteCond %{HTTP_HOST} ^example\.com [NC,OR]
 RewriteCond %{HTTP_HOST} [A-Z]
 RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

用于本地服务器

 Options +FollowSymLinks -MultiViews
 RewriteEngine on
 RewriteCond %{REQUEST_URI} ^https://localhost/(.*)$
 RewriteRule %{REQUEST_URI}  https://localhost/$1 [S=1,L]

 RewriteCond %{HTTP_HOST} ^localhost [NC,OR]
 RewriteCond %{HTTP_HOST} [A-Z]
 RewriteRule ^(.*)$ https://localhost/kernel/$1 [R=301,L]