使用.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中文網其他相關文章!