Sam*_*ore 2 php mysql wordpress .htaccess mod-rewrite
Wordpress使用友好的seo url而不使用htaccess.
请问我们如何解释这个问题.
我能想到的唯一方法就是做这样的事情.
domain.com/index.php/nnn/mmmm/
但是wordpress不使用index.php
我知道他们没有使用htaccess.
请告诉我.
谢谢.
WordPress实际上有一个.htaccess文件,他们不需要更改它将所有请求重定向到index.php
然后index.php查看永久链接规则并运行一些数据库查询以确定要向哪个页面发送.
因此,举例来说,如果永久规则是%postdate%/%postname%(可能不是实际的WordPress的永久变量.我还没有被使用WordPress的时间太长),那么它只是使用正则表达式(或组合substr()和strpos())把%postdate%和%postname%成变量.接下来,它为与该日期和该名称匹配的任何项目运行简单的数据库查询.如果找不到任何内容,则重定向到搜索.如果您找到多个,请将它们全部列出(如类别页面).如果您找到一个且只有一个,请发送该页面.
就实际"发送"页面而言,这只是设置某些变量(例如$the_post['content'])然后include()是正确的主题文件的问题.
include()主题文件是一个简单的if()陈述.
if(file_exists("wp-content/themes/<your_theme>/$the_post['type'].php")){
include("wp-content/themes/<your_theme>/$the_post['type'].php");
} else {
include("wp-content/themes/<your_theme>/index.php");
}
Run Code Online (Sandbox Code Playgroud)
请注意,这些不是确切的变量名称或它们发生的确切函数.这只是一个非常简化的版本,可以大致了解这些系统的工作原理.