第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

htaccess 如何重寫這個url

htaccess 如何重寫這個url

PHP
GCT1015 2023-08-19 14:09:55
如何重寫此 URL:https://example.com/illustrations.php?category=cats&cat_id=1到:https://example.com/category/cats另外,我如何保留cat_id參數(shù)?我嘗試了這個,但它不起作用:RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^/?category/(.*?)/?$ /illustrations.php?category=$1 [L]
查看完整描述

1 回答

?
慕田峪4524236

TA貢獻1875條經(jīng)驗 獲得超5個贊

當(dāng)我添加此代碼并轉(zhuǎn)到illustrations.php?category=cats它時,不會更改瀏覽器欄中的 URL。

對,那是正確的”。

您在內(nèi)部發(fā)布的代碼URL /category/cats(您應(yīng)該在 HTML 源中鏈接到的 URL)重寫回實際的文件系統(tǒng)/URL 路徑:/illustrations.php?category=cats。為了使“漂亮”的 URL /category/cats“有效”,這是必需的。

您不能.htaccess僅使用 - 如果這就是您所暗示的內(nèi)容來更改 URL 結(jié)構(gòu)。您確實需要實際更改 HTML 源中的物理 URL。

您可以使用 實現(xiàn)從規(guī)范 URL 的外部重定向(而不是重寫),但請注意,這只是為了有利于 SEO(以及可能已經(jīng)鏈接到舊 URL 的第三方)。如果您要更改現(xiàn)有的 URL 結(jié)構(gòu)并且 SEO 是一個問題,那么這是一個必要的附加步驟,但它不是您網(wǎng)站“工作”的一部分。/illustrations.php?category=cats/category/cats.htaccess

我如何仍然保留cat_id參數(shù)

您需要在 URL 中包含參數(shù)的值。cat_id例如。/category/cats/1(正如 @arkascha 在評論中建議的那樣)或/category/1/cats- 取決于哪個值更重要。我會把更重要的值放在第一位,因為共享時 URL 可能會被意外裁剪。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?category/(.*?)/?$ /illustrations.php?category=$1 [L]

這條規(guī)則可以簡化。文件系統(tǒng)檢查相對昂貴??磥砟梢酝ㄟ^使正則表達式更加具體來刪除這兩個內(nèi)容。例如??梢?code>/category/1/cats映射到文件嗎?您需要可以訪問目錄嗎?我希望這兩個問題的答案都是“否”。

我還將決定是否允許尾隨斜杠,而不是同時允許兩者(如您當(dāng)前的規(guī)則所示)。嚴格來說,這會創(chuàng)建重復(fù)的內(nèi)容(兩個 URL;相同的內(nèi)容),因此需要額外的步驟來解決。您的示例 URL 不包含尾部斜杠。

因此,您可以將規(guī)則簡化為以下形式,以便重寫/category/1/cats(無尾部斜杠)為/illustrations.php?category=cats&cat_id=1

RewriteEngine On
RewriteRule ^category/(\d+)/([\w-]+)$ /illustrations.php?category=$2&cat_id=$1 [L]

假設(shè)cat_id可以是 1 位或多位數(shù)字 ( 0-9)。并且category僅限于以下字符:a-z、A-Z0-9、_(下劃線)、-(連字符)。

對于正則表達式,最好盡可能限制。.通過省略上述規(guī)則中最后一個路徑段中的點 ( ),它無法匹配物理文件(假設(shè)所有文件都有文件擴展名)。


查看完整回答
反對 回復(fù) 2023-08-19
  • 1 回答
  • 0 關(guān)注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號