V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wukaichao
V2EX  ›  程序员

PHP 关于 http 改 https 的问题

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

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

    比如没有监听 443 端口、apache 的话可能需要开 virtualhost 之类的
    xttttt
        37
    xttttt  
       Mar 11, 2018 via Android
    这不是 nginx 和 Apache 的锅吗
    wukaichao
        38
    wukaichao  
    OP
       Mar 11, 2018 via iPhone
    @linpf #36 443 监听了,后面那个要怎么设置?
    respect11
        39
    respect11  
       Mar 12, 2018
    手动 https 能访问么?如果能就 80 跳转下。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2482 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 08:42 · PVG 16:42 · LAX 01:42 · JFK 04:42
    ♥ Do have faith in what you're doing.