PHP 关于 http 改 https 的问题

2018-03-10 16:55:37 +08:00
 wukaichao
服务器是 centos,并且关于 https 上的一些 conf 配置都已经写好了。https 下打开网站后,f12 查看到证书已经显示,但页面提示 The requested URL was not found on this server,http 访问是正常的,php 框架 thinkphp3.2.3.请问有知道怎么处理的吗?
5960 次点击
所在节点    程序员
39 条回复
wukaichao
2018-03-10 21:37:17 +08:00
@ipwx 谢谢
HanSonJ
2018-03-10 23:02:22 +08:00
@wukaichao #20 首先态度谦虚点赞,但是,我不认为有哪所大学会教你 https,这个大部分人都是自行搜索学习,而搜索的解决能力就跟你基础有关了,别把锅甩给老师
connection
2018-03-10 23:16:49 +08:00
其实现在申请 ssl 证书的网站都有交给你如何配置。一般 rewrite,还有一些 mode 打开,加之.htaccess 或者是 tp 的 config
cszchen
2018-03-11 00:22:40 +08:00
监听端口改成 443
cszchen
2018-03-11 00:23:51 +08:00
这个跟 PHP 还真是一毛钱关系都没有
1762628386
2018-03-11 00:41:01 +08:00
你应该没有设置路由重写

RewriteRule ^ %{ENV:BASE}/app.php [L]
例如这种
1762628386
2018-03-11 00:42:17 +08:00
如果是 apache 下
app.php 是你的单入口名

DirectoryIndex app.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^ %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>
jackietsui72
2018-03-11 00:56:37 +08:00
PHP:关我毛事
blless
2018-03-11 01:04:06 +08:00
程序也能处理吧…不过大部分场景好像都是负载均衡层处理 https
wukaichao
2018-03-11 08:39:51 +08:00
@HanSonJ #22 真的是第一次弄 https,没人教,从申请证书到 apache 配置到 443 端口开放都是自己一个人百度谷歌搞定,能力有限实在脑筋转不过来了,过来问一下就说我黑 php,唉。
wukaichao
2018-03-11 08:41:42 +08:00
@connection #23 我根据证书网站的配置已经配好了,端口也监听了,用 https 访问的时候就出现 404,是路由重写的缘故吗?
iminto
2018-03-11 11:50:22 +08:00
@wukaichao 因为 PHP 不好惹,哈哈哈
skyjerry
2018-03-11 15:57:49 +08:00
@ipwx 稍微了解一下 HTTP 基础就可以知道这问题和语言没有关系,我是这个意思。
skyjerry
2018-03-11 16:02:01 +08:00
@wukaichao
就像 @ipwx 这位仁兄说的一样,可以先 Google,不然会招黑的
wukaichao
2018-03-11 17:37:37 +08:00
@skyjerry 真的,有些人说是路由问题,有些人说是我 apache 配置没弄好,雾水越来越浓。
linpf
2018-03-11 18:02:25 +08:00
感觉像是 apache 或者 nginx 没有设置好。

比如没有监听 443 端口、apache 的话可能需要开 virtualhost 之类的
xttttt
2018-03-11 18:14:29 +08:00
这不是 nginx 和 Apache 的锅吗
wukaichao
2018-03-11 19:02:57 +08:00
@linpf #36 443 监听了,后面那个要怎么设置?
respect11
2018-03-12 09:17:29 +08:00
手动 https 能访问么?如果能就 80 跳转下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/436819

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX