簡體   English   中英

WordPress用什么方式重寫頁面URL?

[英]In what way does Wordpress rewrite page URLs?

最近,我對Wordpress的帖子結構感興趣。

他們使用名為( wp_posts )的表,並在此表中保存了3個相關字段,例如:

post_title
post_name
guid 

顯然,他們將每個故事的標題保存在post_title字段中,並將子句保存在post_name中 ,並在公會文件中保存帖子的完整URL。

但是在哪里,他們用在瀏覽器中出現的方式重寫了這些網址:

HTTP://本地主機/ WordPress的/約/

沒有htaccess規則!

我檢查了rewrite.php,但不懂英寸嗎?

我需要創建類似的頁面,我應該采取什么步驟!

.htaccess文件具有重寫指令,該指令將所有請求發送到index.php。 rewrite指令告訴Web服務器將原始請求傳遞到其他位置,而無需重定向。 因此,index.php接收所有原始參數,包括請求路徑(URL在主機名之后的部分,例如“ / about /”)。

當index.php接收到請求時,它就像前端控制器一樣,根據URL確定響應方式。

我從沒看過WordPress的內部工作原理,所以我無法確切地說出它們是如何實現的,但是index.php的基本思想是:

  1. 查看客戶端使用的請求路徑(例如,“ / about /”)
  2. 從請求路徑中提取一條(“關於”)
  3. 查找哪個帖子中有“有關”的內容
  4. 返回相應的帖子

如果您檢查WP_Rewrite類,將會解釋很多問題。

基本上,正如大多數人所說, .htaccess只是將所有無法解析為服務器上實際文件或文件夾的URL重寫為index.php

WordPress將URL映射到重寫規則列表,該規則是鍵和值的數組。 鍵是一個正則表達式,並且值將引用映射參數字符串。

例如,一個重寫規則是:

category/(.+?)/page/?([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&paged=$matches[2]'

然后,類WPWP_Query一起使用參數並處理請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM