V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wukaichao
V2EX  ›  程序员

PHP 关于 http 改 https 的问题

  •  
  •   wukaichao · 2018-03-10 16:55:37 +08:00 · 5959 次点击
    这是一个创建于 2440 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务器是 centos,并且关于 https 上的一些 conf 配置都已经写好了。https 下打开网站后,f12 查看到证书已经显示,但页面提示 The requested URL was not found on this server,http 访问是正常的,php 框架 thinkphp3.2.3.请问有知道怎么处理的吗?
    39 条回复    2018-03-12 09:17:29 +08:00
    tomczhen
        1
    tomczhen  
       2018-03-10 17:03:26 +08:00 via Android   ❤️ 4
    又来黑我 PHP
    defunct9
        2
    defunct9  
       2018-03-10 17:10:50 +08:00 via iPhone   ❤️ 3
    开 ssh,让我上去看看
    tadtung
        3
    tadtung  
       2018-03-10 17:24:53 +08:00 via Android
    确定你配置正确?
    你的 apache 或者 niginx 重定向正确?
    wukaichao
        4
    wukaichao  
    OP
       2018-03-10 17:29:21 +08:00
    @tadtung .htaccess 文件里面该怎么写?
    tadtung
        5
    tadtung  
       2018-03-10 17:36:19 +08:00 via Android
    @wukaichao 手机不好发给你,你自己百度或者 google 一下就行
    wukaichao
        6
    wukaichao  
    OP
       2018-03-10 17:41:44 +08:00
    @tadtung 我看了下框架有自带的.htaccess,里面的东西好像也没有什么要碰的了,RewriteEngine On 也打开了
    Patrick95
        7
    Patrick95  
       2018-03-10 17:42:57 +08:00
    .htaccess 没配好吧 自己去查 ThinkPHP 的.htaccess 怎么写。
    tadtung
        8
    tadtung  
       2018-03-10 17:44:27 +08:00 via Android
    你网站发出来看看。
    一般 https 出现这种 url not found,大多都是 rewrite 规则有问题。网站源码是你写的?
    mnssbe
        9
    mnssbe  
       2018-03-10 18:09:34 +08:00
    php 真是招黑
    wemore
        10
    wemore  
       2018-03-10 18:11:52 +08:00 via Android
    没碰过 php,这锅一般不是甩给 web 服务器或 nginx 吗
    skyjerry
        11
    skyjerry  
       2018-03-10 18:35:27 +08:00 via iPhone
    先学好基础,再去做项目。OK?
    toxicant
        12
    toxicant  
       2018-03-10 18:57:29 +08:00 via iPhone
    心疼 php...
    ThirdFlame
        13
    ThirdFlame  
       2018-03-10 19:36:13 +08:00
    心疼 php+10086
    oneonesv
        14
    oneonesv  
       2018-03-10 19:38:26 +08:00
    和 php 有啥关系
    ipwx
        15
    ipwx  
       2018-03-10 19:40:30 +08:00
    @tomczhen @mnssbe @toxicant @ThirdFlame 楼上各位的语气怎么这么奇怪。楼主有说过一句是 PHP 不好吗?
    @skyjerry 我觉得如何配置 nginx/apache 不属于学好基础再做项目的范畴。你顶多喷一下楼主遇事不会先 Google ……
    ipwx
        16
    ipwx  
       2018-03-10 19:41:34 +08:00
    @oneonesv 我觉得有关系啊。正因为是 php 技术栈,才容易遇到 rewrite 没写对的问题。其他主流技术站,python/java/ruby/go,似乎都不会有这个问题吧?
    ipwx
        17
    ipwx  
       2018-03-10 19:42:18 +08:00
    @oneonesv 当然我没喷 php 不好。rewrite 没啥不好的,能达到效果的都是好技术。
    g8287694
        18
    g8287694  
       2018-03-10 19:49:35 +08:00
    @ipwx 只是以为是花式黑 php 的而已
    fhefh
        19
    fhefh  
       2018-03-10 20:02:07 +08:00
    这个 PHP 没关系吧
    跟 nginx/apache 配置有关
    wukaichao
        20
    wukaichao  
    OP
       2018-03-10 21:37:04 +08:00
    @skyjerry - - 我上学的时候老师没教 https 该怎么弄,真不好意思,到大佬面前来献丑了。
    wukaichao
        21
    wukaichao  
    OP
       2018-03-10 21:37:17 +08:00
    @ipwx 谢谢
    HanSonJ
        22
    HanSonJ  
       2018-03-10 23:02:22 +08:00
    @wukaichao #20 首先态度谦虚点赞,但是,我不认为有哪所大学会教你 https,这个大部分人都是自行搜索学习,而搜索的解决能力就跟你基础有关了,别把锅甩给老师
    connection
        23
    connection  
       2018-03-10 23:16:49 +08:00
    其实现在申请 ssl 证书的网站都有交给你如何配置。一般 rewrite,还有一些 mode 打开,加之.htaccess 或者是 tp 的 config
    cszchen
        24
    cszchen  
       2018-03-11 00:22:40 +08:00 via iPhone
    监听端口改成 443
    cszchen
        25
    cszchen  
       2018-03-11 00:23:51 +08:00 via iPhone
    这个跟 PHP 还真是一毛钱关系都没有
    1762628386
        26
    1762628386  
       2018-03-11 00:41:01 +08:00
    你应该没有设置路由重写

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

    比如没有监听 443 端口、apache 的话可能需要开 virtualhost 之类的
    xttttt
        37
    xttttt  
       2018-03-11 18:14:29 +08:00 via Android
    这不是 nginx 和 Apache 的锅吗
    wukaichao
        38
    wukaichao  
    OP
       2018-03-11 19:02:57 +08:00 via iPhone
    @linpf #36 443 监听了,后面那个要怎么设置?
    respect11
        39
    respect11  
       2018-03-12 09:17:29 +08:00
    手动 https 能访问么?如果能就 80 跳转下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5622 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 03:33 · PVG 11:33 · LAX 19:33 · JFK 22:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.