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会将未找到的网址重定向到index.php
。然后PHP处理URL并为我们提供相关数据。我在很多地方都读过这篇文章。
但实际上PHP如何重定向?我想了解这种重定向背后的技术。
我的意思是它使用PHP header()
函数吗?还是其他一些技术?
答案 0 :(得分:4)
普通英语的规则意味着什么:
如果网址为/wordpress/index.php
,请停止处理规则。
如果请求的非空网址不是文件或目录,请将请求移交给/wordpress/index.php
并停止处理规则。
在内部,WP然后考虑原始URL,使用正则表达式将其与已知路由模式匹配,并相应地设置请求类型和参数。
答案 1 :(得分:1)
wordpress不会重定向请求。 index.php提供原始request_uri上的内容。