Php Wordpress以什么方式重写页面URL?

Php Wordpress以什么方式重写页面URL?,php,mysql,wordpress,Php,Mysql,Wordpress,最近我对post的Wordpress结构很感兴趣 他们使用一个名为(wp_posts)的表,并在此表中保存了3个相关字段,例如: post_title post_name guid 很明显,他们将每个故事的标题保存在post_title字段中, 以及post_name中的slug, 以及帮会中帖子的完整url 但是,他们以浏览器中显示的方式重写这些URL: 这个没有访问规则 我查了rewrite.php,一点都不懂 我需要创建类似的页面,我应该采取什么步骤 htaccess文件有一个rew

最近我对post的Wordpress结构很感兴趣

他们使用一个名为(wp_posts)的表,并在此表中保存了3个相关字段,例如:

post_title
post_name
guid 
很明显,他们将每个故事的标题保存在post_title字段中, 以及post_name中的slug, 以及帮会中帖子的完整url

但是,他们以浏览器中显示的方式重写这些URL:

这个没有访问规则

我查了rewrite.php,一点都不懂


我需要创建类似的页面,我应该采取什么步骤

htaccess文件有一个rewrite指令,将所有请求发送到index.php。rewrite指令告诉web服务器在不重定向的情况下将原始请求传递到其他位置。因此,index.php接收所有原始参数,包括请求路径(URL中主机名后的部分,例如“/about/”)

当index.php收到一个请求时,它就像一个前端控制器,根据URL确定如何响应

我从来没有看过WordPress的内部工作原理,所以我不能确切地说他们是如何实现它的,但是index.php的总体思想是:

  • 查看客户端使用的请求路径(例如“/about/”)
  • 从请求路径(“about”)中提取slug
  • 查一下哪根柱子上有“关于”的弹头
  • 退回适当的职位

  • htaccess文件有一个rewrite指令,将所有请求发送到index.php。rewrite指令告诉web服务器在不重定向的情况下将原始请求传递到其他位置。因此,index.php接收所有原始参数,包括请求路径(URL中主机名后的部分,例如“/about/”)

    当index.php收到一个请求时,它就像一个前端控制器,根据URL确定如何响应

    我从来没有看过WordPress的内部工作原理,所以我不能确切地说他们是如何实现它的,但是index.php的总体思想是:

  • 查看客户端使用的请求路径(例如“/about/”)
  • 从请求路径(“about”)中提取slug
  • 查一下哪根柱子上有“关于”的弹头
  • 退回适当的职位

  • 如果你检查
    WP\u Rewrite
    课程,你的很多问题都会得到解释

    基本上,正如大多数人所说,
    .htaccess
    只会将服务器上未解析为实际文件或文件夹的所有URL重写为
    index.php

    WordPress根据重写规则列表映射URL,重写规则是一个键和值数组。键是一个正则表达式,值映射到一个参数字符串

    例如,一个重写规则是

    category/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&paged=$matches[2]'
    

    然后,类
    WP
    以及
    WP\u查询
    获取参数并处理请求。

    如果检查
    WP\u重写
    类,您的许多问题都会得到解释

    基本上,正如大多数人所说,
    .htaccess
    只会将服务器上未解析为实际文件或文件夹的所有URL重写为
    index.php

    WordPress根据重写规则列表映射URL,重写规则是一个键和值数组。键是一个正则表达式,值映射到一个参数字符串

    例如,一个重写规则是

    category/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&paged=$matches[2]'
    

    然后类
    WP
    以及
    WP\u Query
    获取参数并处理请求。

    答案肯定在htaccess文件中。pekka我尊重你的答案,但只有重定向到httaccess文件中的index.php答案肯定在htaccess文件中。pekka我尊重你的答案,但只有在httaccess文件中重定向到index.php如果你的假设是正确的,那么wordpress如何理解在httaccess中重定向时哪个页面重定向到index.php?!就像我说的,所有的请求都进入index.php。我想我看到了混乱。这不是重定向,而是重写。web服务器将所有原始请求参数传递给index.php,包括请求路径。这回答了你的问题吗?@jeff我很困惑,如果你看wordpress的htaccess文件,你会注意到,一个简单的重定向到index.php。当它被重定向到index.php时,它如何猜测有哪些参数。更新你的答案,如果你能用一种更简单的方式告诉我这不是重定向。这是重写。这些是不同的事情。我会更详细地更新答案。好吧,如果你的假设是正确的,那么wordpress如何理解在htaccess中重定向时哪个页面重定向到index.php?!就像我说的,所有的请求都进入index.php。我想我看到了混乱。这不是重定向,而是重写。web服务器将所有原始请求参数传递给index.php,包括请求路径。这回答了你的问题吗?@jeff我很困惑,如果你看wordpress的htaccess文件,你会注意到,一个简单的重定向到index.php。当它被重定向到index.php时,它如何猜测有哪些参数。更新你的答案,如果你能用一种更简单的方式告诉我这不是重定向。这是重写。这些是不同的事情。我会更详细地更新答案。