php - 这是 WordPress 中的 .htaccess 代码。有人可以解释它是如何工作的吗?

标签 php apache wordpress .htaccess

这是 WordPress 永久链接的 .htaccess 代码。我不明白这是怎么回事。谁能解释一下?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我搜索了一下,发现 -f-d 部分的意思是给真正的目录和文件更高的优先级。

但是什么是 ^index\.php$ - [L]RewriteRule 。/index.php [L] ?

WordPress 是如何处理类别、标签、页面等的?

它发生在内部吗?如果是这样,我有兴趣学习如何在 PHP 中执行此操作。

谢谢

最佳答案

^index\.php$ - [L] 防止对 index.php 的请求被重写,以避免不必要的文件系统检查。如果请求是针对 index.php 的,则指令不执行任何操作 - 并停止处理规则 [L]

这个 block 都是一个规则,它说如果它不是真实文件也不是真实目录,则将请求重新路由到 index.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

index.php 本身解释客户端请求的 URL(PHP 可以使用 $_SERVER['REQUEST_URI'] 查看请求的 URL)并调用正确的代码来呈现页面用户请求。

关于php - 这是 WordPress 中的 .htaccess 代码。有人可以解释它是如何工作的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061880/

相关文章:

javascript - WordPress 在每个帖子上运行 javascript 代码

php - 为什么 mysql_query 不工作?

php - 如何自动关闭截断段落中的标签

php wordpress 密码更改-注销我!

php - 我可以像在 PHP 中一样找到正在运行 Web 服务器的用户吗?

如果参数包含等号,CGI 脚本不会接收参数

php - wordpress中的自定义类别树

html - 为什么 wordpress 小部件会在移动 View 中截断部分网站?

php - Xampp 上的 ZMQ (Windows)

apache - 使用Flume在两个单独的表中的Hive仓库目录中写入数据