3

Wordpress 的 htaccess 文件(通常)看起来像这样。

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

使用此重写规则,Apache 将未找到的 URL 重定向到index.php. 然后 PHP 处理 URL 并为我们提供相关数据。我在很多地方都读过这个。

但实际上 PHP 是如何重定向的呢?我想了解此重定向背后的技术。

我的意思是它使用PHPheader()函数吗?还是其他什么技术?

4

2 回答 2

4

规则用简单的英语意味着什么:

  1. 如果 url 是/wordpress/index.php,则停止处理规则。

  2. 如果请求的非空 url 不是文件或目录,则将请求移交给/wordpress/index.php并停止处理规则。

在内部,WP 会考虑原始 url,使用正则表达式将其与已知的路由模式进行匹配,并相应地设置请求类型和参数。

于 2013-04-27T14:27:58.037 回答
1

wordpress 不会重定向请求。index.php 根据原始 request_uri 提供内容。

于 2013-04-27T13:54:45.707 回答