如何使用 .htaccess 重寫帶有 GET 參數的 URL?

DDD
發布: 2024-11-16 13:35:02
原創
821 人瀏覽過

How Can I Rewrite URLs with GET Parameters Using .htaccess?

使用.htaccess 重寫GET 變數

許多Web 應用程式使用包含動態內容的URL 結構,例如提供的範例:index. html。 php?頁面=控制器。為了改善使用者體驗並保持更清晰的 URL 結構,需要重寫這些 URL 以更用戶友好的格式顯示。這可以使用 .htaccess 規則來實現。

提供的 .htaccess 規則有效地將 http://localhost/index.php?page=controller 形式的 URL 重寫為 http://localhost/controller/。但是,要求也支援 GET 參數,從而產生諸如 http://localhost/controller/param/value/param/value 之類的 URL。

要實現此目的,可以將以下RewriteRule 新增至.htaccess 檔案:

RewriteRule ^(.*)$ index.php?params= [NC, QSA]
登入後複製

此規則擷取整個URL,包括任何參數,並將擷取的資料指派給params GET 變數。因此,URL http://localhost/controller/param/value/param/value 將會改寫為index.php?params=param/value/param/value。

在 PHP 腳本中,params GET 變數可以分解以提取各個參數及其值。例如:

<?php

$params = explode("/", $_GET['params']);
for($i = 0; $i < count($params); $i+=2) {

  echo $params[$i] ." has value: ". $params[$i+1] ."<br />";

}

?>
登入後複製

透過此修改,.htaccess 規則將成功重寫帶有 GET 參數的 URL,使 PHP 腳本能夠存取這些參數以進行進一步處理和控制器邏輯。

以上是如何使用 .htaccess 重寫帶有 GET 參數的 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板