簡體   English   中英

WordPress htaccess代碼功能

[英]Wordpress htaccess code functionality

我在必須進行一些修改的網站的.htaccess文件中找到此代碼:

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

我不是apache專家,所以不勝感激您的幫助(通用或特定術語),該代碼有什么作用?

Wordpress .htaccess文件,解釋為:

#開頭的第一行和最后一行是注釋,因此您知道這些規則如何以.htaccess文件結尾。 WordPress核心代碼出於各種原因需要更改規則時,會使用這些注釋來查找相關代碼。 他們自己什么也不做,沒有其他目的。 第一個字符是#任何行都是注釋。

<IfModule mod_rewrite.c></IfModule>行可以成對使用,如果服務器未安裝mod_rewrite.c模塊,則可以防止錯誤。 如果缺少該模塊,則中間的行將被忽略。

RewriteEngine On

此行告訴服務器將以下所有以Rewrite *開頭的行作為一個邏輯組處理到下一個RewriteEngine行。

RewriteBase /ambienteTrabajo/

這行代碼定義了所有相關參考的基礎。 在這種情況下,/ ambienteTrabajo /

RewriteRule ^index\.php$ - [L]

此規則可防止對index.php的任何引用作為永久鏈接進一步處理,因為它不是一個。 一段時間后,這會更有意義。 由於這是第一個重寫規則,沒有上面的條件,因此始終會處理該規則。 因此,如果文本index.php與基本定義之后的請求部分匹配,請沿原樣傳遞請求,並且不再處理其他規則。

RewriteCond %{REQUEST_FILENAME} !-f

刻下scribeRewriteCond意味着條件必須為真,以便處理下一個RewriteRule。 %{REQUEST_FILENAME}是服務器設置為包含請求URL的變量。 !-f表示如果第一個參數未解析為有效文件,則條件為true。

RewriteCond %{REQUEST_FILENAME} !-d

這類似於第一個條件,除了現在我們要檢查有效目錄(-d標志)而不是文件。

RewriteRule . /ambienteTrabajo/index.php [L]

本質上僅在請求是某種永久鏈接的情況下才處理此規則。 任何其他有效的文件系統路徑都將直接傳遞而無需更改。 同樣,有兩個參數和一個標志。 [L]標志再次表示在此之后不處理任何其他規則。 此后通常沒有其他規則,但是為了安全起見,將其放在此處。 點。 表示匹配任何一個字符。 /index.php表示將整個原始請求替換為/index.php。 如果您的WordPress安裝位於公共html根目錄之上,您還將在此處看到實際的文件夾路徑。 該規則基本上說將任何永久鏈接請求發送到index.php,以供WordPress進行進一步處理。 WordPress從另一個變量獲取原始請求,因此在這里重寫它並不重要,WordPress仍將知道原始請求是什么。

我已經知道此代碼的含義。 首先,我將這段代碼放在一個子域中,用於測試目的,此代碼使網站的其他鏈接重定向到“ / ambienteTrabajo /”,而不重定向到根文件夾。

暫無
暫無

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

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