
我有一個 PHP 腳本,根據查詢從資料庫動態產生內容。使用者可以從文字方塊中搜尋使用者名稱「mark」。內容由 PHP 在 www.domain.com/?username=mark 提供,但我希望使用者將服務 URL 視為 www.domain.com/username/mark.html。同樣,用戶可以透過設定檔(整數)進行搜尋。內容在 www.domain.com/?profile=2 處產生。我希望使用者將服務 URL 視為 www.domain.com/profile/2.html。這可行嗎?
這是我的 .htaccess 檔案:
RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /?profile=$1 [L]
Mod_rewrite 已啟用,但該檔案似乎不起作用。
答案1
您的程式碼應該可以工作,也許它根本沒有執行。您可以嘗試輸入錯誤並查看 Apache 是否給出 500 回應。
除此之外,您可以嘗試使用以下 htaccess。新增了index.php,以確保呼叫正確的檔案。
RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /index.php?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /index.php?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /index.php?profile=$1 [L]