在 WordPress 後臺設定固定連結可以實現文章、分類、標籤等頁面的 URL 偽靜態形式,但是 WordPress 站內搜尋結果頁面的 URL 依然是
「http://域名/?s=關鍵字」 的動態 URL 形式,部分 WP 博主覺得不符合 SEO 要求,希望把搜尋結果頁面的 URL 也實現 「http://域名
/search/關鍵詞」 的偽靜態形式,實現方法也很簡單,只需要透過在 functions.php 檔案新增相關的函式程式碼即可。
在當前主題的 functions.php 檔案第一行程式碼 <?php 下面新增以下程式碼:
function tongleer_search_url_rewrite() { if ( is_search() && ! emptyempty( $_GET['s'] ) ) { wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) ); exit(); } } add_action( 'template_redirect', 'tongleer_search_url_rewrite' );
儲存檔案即可。
附方法二:透過在.htaccess 檔案新增偽靜態規則也可以實現,把下面的程式碼新增到網站根目錄的.htaccess 檔案 (對支援.htaccess 的主機有效)
RewriteCond %{QUERY_STRING} ?s=([^&]+) [NC] RewriteRule ^$ /search/%1/? [NC,R,L]