• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wukaichao
V2EX  ›  程序员

PHP 关于 http 改 https 的问题

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

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

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