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

如何实现 url 静态化?把 PHP 后缀改为 html 后缀的那种

  •  
  •   TANKING · 2018-04-02 08:03:14 +08:00 via iPhone · 5898 次点击
    这是一个创建于 2457 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例如 xxx.php?ID=1,静态化之后就变成了 xxx/1/
    nothing2
        1
    nothing2  
       2018-04-02 08:06:09 +08:00 via iPhone
    服务器用的是 nginx ? apache ? lighttpd ?还是其他啥?
    wen4034
        2
    wen4034  
       2018-04-02 08:07:41 +08:00
    伪静态。。百度之。。。
    dot
        3
    dot  
       2018-04-02 08:08:27 +08:00 via Android
    rewrite rules
    glouhao
        4
    glouhao  
       2018-04-02 08:08:45 +08:00 via Android
    伪静态,重写,rewrite ?
    TANKING
        5
    TANKING  
    OP
       2018-04-02 08:12:45 +08:00 via iPhone
    @hgyhyx 还有这个限制啊,我用阿里云的弹性 web 托管
    yingfengi
        6
    yingfengi  
       2018-04-02 08:18:44 +08:00 via Android
    伪静态
    580a388da131
        7
    580a388da131  
       2018-04-02 08:53:48 +08:00
    @TANKING 阿里云的弹性 web 托管是 Apache2.4,写好.htaccess 规则就行。规则较复杂,请自行学习,不表。
    KgM4gLtF0shViDH3
        8
    KgM4gLtF0shViDH3  
       2018-04-02 08:54:26 +08:00
    nginx 重写
    suit
        9
    suit  
       2018-04-02 09:07:24 +08:00   ❤️ 2
    求求你别黑 PHP 了
    TANKING
        10
    TANKING  
    OP
       2018-04-02 09:12:29 +08:00 via iPhone
    @suit 你就是传说中的键盘手。
    kimown
        11
    kimown  
       2018-04-02 09:16:21 +08:00 via Android
    nginx proxy cache,都不要改 url
    mokeyjay
        12
    mokeyjay  
       2018-04-02 09:34:02 +08:00
    @TANKING #10 他没说错,你说的这事儿叫伪静态,具体自己搜。这个实现方式和技术跟 PHP 一毛钱关系都没有
    Immortal
        13
    Immortal  
       2018-04-02 09:34:45 +08:00
    除了 nginx 之类的 web 服务器 一般还可以在框架中设置路由方式吧
    zjyl1994
        14
    zjyl1994  
       2018-04-02 09:39:20 +08:00
    urlrewrite,apache 搜 htaccess,nginx 啥的搜 rewrite
    linhaijian
        15
    linhaijian  
       2018-04-02 09:40:51 +08:00
    1、url 伪静态,写对应的 web 服务器伪静态规则就可以
    2、真实静态文件生成,比如 /category/123.html 把 id 为 123 (或者自定义路径)的栏目生成 html 文件放到指定目录下,把路径存入到数据库,页面展现的时候从数据库中读出路径( id 或者自定义路径)
    wangbenjun5
        16
    wangbenjun5  
       2018-04-02 10:00:11 +08:00
    伪静态化,nginx 重写 url 就行了,apache2 rewrite mod 也能搞定,但是现在基本上是 nginx 居多
    allce231
        17
    allce231  
       2018-04-02 10:10:29 +08:00
    @mokeyjay 意思是这个 phper 连伪静态都不知道 太垃圾了
    Tompes
        18
    Tompes  
       2018-04-02 12:39:18 +08:00
    Tompes
        19
    Tompes  
       2018-04-02 12:41:38 +08:00
    说实话,问这种问题之前可以先搜索.
    xzc0001
        20
    xzc0001  
       2018-04-02 12:49:41 +08:00
    自学建站呢吧?有问题先百度谷歌,我看了一眼你发帖的列表,全都是能搜索出来的很基础的知识。
    aimerforreimu
        21
    aimerforreimu  
       2018-04-02 12:53:37 +08:00
    伪静态
    sagaxu
        22
    sagaxu  
       2018-04-02 12:54:07 +08:00 via Android
    这个问题很 php
    misaka19000
        23
    misaka19000  
       2018-04-02 12:55:47 +08:00
    很明显是来黑 PHP 的
    jevonszmx
        24
    jevonszmx  
       2018-04-02 12:57:16 +08:00
    求求你别黑 PHP 了,不要挂在 PHP 节点下好不好
    Tokin
        25
    Tokin  
       2018-04-02 12:59:32 +08:00
    这跟 PHP 有什么关系。。。
    DualWield
        26
    DualWield  
       2018-04-02 13:08:51 +08:00   ❤️ 1
    lz 可能只是不懂这块的知识,ls 一群人冷嘲热讽『求求你别黑 php 了』算怎么回事?

    我相信 lz 只是实诚的发问而已
    MonoLogueChi
        27
    MonoLogueChi  
       2018-04-02 13:45:15 +08:00 via Android
    伪静态,以前用 kangle 做过,其他的没试过,百度一下就行的,挺简单的过程
    zander1024
        28
    zander1024  
       2018-04-02 13:55:03 +08:00   ❤️ 1
    @DualWield 你看下他过往的发问,我觉得有 99 的概率是来黑 php,1 的概率是蠢
    Jarvix
        29
    Jarvix  
       2018-04-02 14:10:19 +08:00
    我大 PHP 是你这种大神能黑的?
    vincenttone
        30
    vincenttone  
       2018-04-02 14:22:39 +08:00
    1. apache、nginx 之类服务器里可以 rewrite
    2. 这里以楼主的 php 作为假设,首先假设传递的是 [xxx/1/] 这个 url,在服务器中请求框架的统一入口(比如 index.php )并 rewrite 掉这个统一入口(比如是 localhost/index.php rewrite 为 localhost/),解析得到的字符串 [xxx/1/] ,就知道文件和 id 了,这是一个 php 框架常见的部分,主要包括启动、路由、自动加载部分。
    icy37785
        31
    icy37785  
       2018-04-02 14:39:00 +08:00   ❤️ 1
    我觉得楼主的问题不是黑不黑 php 和知不知道伪静态相关知识。。。是这种随便用搜索引擎搜一下就有一大堆资料的问题本身就没有发帖意义。。。
    上面很多的说楼主楼主黑 php,确切是说想表达的不是黑了 php。
    而是问这种问题本身给 phper 抹黑了。。。
    我一直认为提问之前先用用搜索引起搜索一下是对人基本的尊重,就算不能保证提问的问题都是搜索引擎找不到的,但至少问的问题应该是不那么容易找到的吧。
    如果有人怀疑楼主不懂这块知识点而不知道搜索需要使用的关键字(如伪静态)的话。
    那么看楼主的标题,说的是静态化的问题,而用百度搜索静态化直接看到的答案就是生成网页的静态化,和伪静态,如果更精确的关键字 php 静态化 第二条就是伪静态。
    我在楼主标题里有静态化三个字之后甚至一度怀疑认为楼主不是懒得搜索。。。。是想恶搞一下。。。
    最后附上《提问的智慧》 https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md#%E5%9C%A8%E6%8F%90%E9%97%AE%E4%B9%8B%E5%89%8D
    TANKING
        32
    TANKING  
    OP
       2018-04-02 19:44:13 +08:00 via iPhone
    学程序的人都是奇葩( ¬_¬)我就提问一下,打个标签就被说成黑 php。。。

    还有,知道你们都是大神牛逼哄哄的,我这种小问题你们大神就应该哪凉快哪呆,没必要回复。。。

    我就打个标签怎么着??那些一出口就说黑 php 的人,是不是一出生就什么都懂了?你要记住,你以前,也是一个什么都不懂小屁孩。。。

    在这里感谢那些认真回复问题的人,这个问题我今天在这里学会了,也用在了自己的学习项目当中。

    百度的内容都是五花八门,看了不一定能懂,或者一大堆问题和误导,我觉得这里发问一下,有经验的人,一定会有最好的解答。首先,百度我是搜过的,但是没有得到有价值的信息,再向这里提问。

    那些说我黑 php 的人,我翻一个白眼。。。
    marcong95
        33
    marcong95  
       2018-04-02 19:57:50 +08:00
    @TANKING 我估计是你的各种伸手党级别的问题刺激到 LS 诸位了。sf 的提问框 placeholder 如下:
    marcong95
        34
    marcong95  
       2018-04-02 19:58:01 +08:00
    @marcong95 1. 描述你的问题
    2. 贴上相关代码
    3. 贴上报错信息
    4. 贴上相关截图
    5. 已经尝试过那些方法仍未解决(附上相关连接)
    TANKING
        35
    TANKING  
    OP
       2018-04-02 20:09:23 +08:00 via iPhone
    @marcong95 看来以后提问不能打 php 标签了。。
    sagaxu
        36
    sagaxu  
       2018-04-02 20:15:14 +08:00 via Android
    @TANKING 在一出生什么都懂,和 18 岁不会自己吃饭两个极端之间,大部分人可能分布在 3 到 5 岁学会自己吃饭,而你是 10 岁还要靠喂饭的那个。
    dobelee
        37
    dobelee  
       2018-04-02 20:19:02 +08:00 via Android
    不是针对 php。只是这种问题的答案随便一搜烂大街,在 sf 也会被秒关的。建议以后先搜后问,否则对别人的付出十分不尊重。
    jhdxr
        38
    jhdxr  
       2018-04-03 00:00:46 +08:00
    @TANKING 提问前你关于这个问题你做了那些思考?那些尝试?如果这个问题,对于大部分人来说只是小菜一碟,但是对于你来说在努力尝试后依然无果。说出你的尝试和思考,大家不仅会回答你还会告诉你的思路有什么问题。

    但只是做一个伸手党,还这么理直气壮?

    > 你要记住,你以前,也是一个什么都不懂小屁孩。。。
    首先,我要告诉你的是不要把你当成所有人。找几本相关的书读一遍,你就不会问出这些提问。

    > 百度的内容都是五花八门,看了不一定能懂,或者一大堆问题和误导,我觉得这里发问一下,有经验的人,一定会有最好的解答。首先,百度我是搜过的,但是没有得到有价值的信息,再向这里提问。
    这儿不是学校,没有人有义务帮你完成任何东西。不要觉得什么如果你不想回答装作没看到这个问题就行。上面有人发了提问的智慧,建议你先阅读一遍。

    你这种提问就是在显著的拉低整个社群的质量。这种东西多了的最直接后果就是劣币驱逐良币,参考现在的 B 乎。所以如果能够把伸手党封杀在萌芽之中当然是最好的。别担心我们会考虑什么对待新人怎么如此粗暴无礼,上面已经说了,新人请去新人该去的地方,或者展示出你的诚意来,如果两者都做不到,那至少我自己会很高兴见到作为伸手党的新人被驱逐并且不再出现。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1287 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:40 · PVG 01:40 · LAX 09:40 · JFK 12:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.