[英]How to GET to a clean url using php
如果我有一個GET搜索字段,如何將其提交到一個干凈的URL(例如/search/keyword
而不是index.php?fn=search&term=keyword
)? 我根本不想使用Javascript來覆蓋表單的Submit事件。
謝謝。
我假設從您的標簽(.htaccess)您正在使用apache,如果可以的話,您可以利用mod_rewrite引擎使您的查詢字符串SEO友好。
像這樣的網絡上有一些很好的資源
本質上,您需要做的是
確保在服務器上安裝/啟用了mod_rewrite
開啟mod重寫並配置規則
(根據此處的一個不錯的資源),從
http://www.best-food-of-the-usa.com/index.php?operation=top&state=arizona& city = mesa&limit = 10
至
http://www.best-food-of-the-usa.com/arizona/mesa/top10.html
你可以使用規則
RewriteRule ([a-zA-z]+)/([a-zA-z]+)/top10\.html$ index.php?operation=top&state=$1&city=$2&limit=10
顯然,您可以使該規則更簡單,更通用,以處理所有查詢字符串,或者可以針對要重寫的每個URL對其進行自定義。
記住並更新您的應用程序,以便它指向新的重寫URL!
您對您的index.php進行POST調用,然后重定向到一個不錯的URL。
index.php:
<?php
if (!empty($_POST["fn"])){
$search = $_POST["fn"];
$keyword = $_POST["term"];
header("Location: http://www.yourwebsite.com/$search/$keyword");
}else{
// Show your content
}
?>
當然,您必須使用mod_rewrite處理漂亮的URL。
您必須使用javascript。 您可以將PHP腳本重定向到“干凈” URL,但是即使那樣,您仍將首先轉到“丑陋” URL。
我強烈建議您使用CodeIgniter或CakePHP之類的框架。 它們都具有干凈的url功能以及更多其他功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.