这是 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/