Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
288 views
in Technique[技术] by (71.8m points)

apache - How do WordPress permalinks work (at a technical level)

I'm a WordPress newbie, and am working through a bunch of issues involving permalinks. I have gotten the /%postname% style permalink working on my site, but I can't figure out how they actually work -- how the URL containing the usual sort of /words-from-the-title stuff gets rewritten/redirected/whatever to the proper post.

I have the default stuff in the root directory's .htaccess file:

# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

but, given my pretty-good understanding of Apache rewrite rules, I don't see how this is doing the mapping. I was half-expecting that my .htaccess file was going to get filled up with a bunch of RewriteRule statements, one for each page that needed to be redirected, but that doesn't seem to be happening. Anyway, can anybody help with my curiosity? Thanks!

question from:https://stackoverflow.com/questions/65893442/how-do-wordpress-permalinks-work-at-a-technical-level

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The default WordPress .htaccess file only redirects all requests (from the base URL) through index.php - which, down the line, handles all rewrites. So the rewrite logic is all within WordPress's codebase itself. That's why you do not need a rewrite rule for every single post.

Check out this source file to go more in-depth on the logic part.

A good exercise in truly learning how WordPress works is starting at index.php (the entry point) and checking out where the code brings you.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...