簡體   English   中英

htaccess分頁和多個查詢字符串

[英]Htaccess pagination and multiple query strings

我正在嘗試設置重定向以展示業務頁面,並在頁面上分頁顯示該頁面上的列表。

這就是我希望網址看起來像的樣子:

https://www.propertypost.lk/company/colomborent/1

URL中的最后一個數字是頁碼。

我已經能夠使它工作: https : //www.propertypost.lk/company/colomborent

但是我似乎無法弄清楚如何包括分頁部分(這不是必須的)。

這是沒有htaccess的URL的外觀:

https://www.propertypost.lk/agent-business-page.php?url=colomborent&page=1

這是我的htaccess重寫規則,該規則有效:

RewriteRule     ^company/([^\s]+[\w])/?$    agent-business-page.php?url=$1

這是我嘗試的不起作用...:

RewriteRule     ^company/([^\s]+[\w])/([^\s]+[\w])/?$   agent-business-page.php?url=$1&page=$2

感謝您的所有幫助!

您希望\\ d而不是\\ w捕獲數字分頁數參數。 所以像這樣:

RewriteEngine on
RewriteRule ^/?company/(\w+)/?$ /agent-business-page.php?url=$1 [END]
RewriteRule ^/?company/(\w+)/(\d+)/?$ /agent-business-page.php?url=$1&page=$2 [END]

如果您使用上述規則收到內部服務器錯誤(http狀態500),則很可能是您運行了非常舊版本的apache http服務器。 在這種情況下,您將在http服務器錯誤日志文件中看到對不支持的[END]標志的明確提示。 您可以嘗試升級或使用舊的[L]標志,在這種情況下它可能會起作用,盡管這在一定程度上取決於您的設置。

此規則將在http服務器主機配置或動態配置文件(“ .htaccess”文件)中同樣起作用。 顯然,重寫模塊需要加載到http服務器內部並在http主機中啟用。 如果使用動態配置文件,則需要注意在主機配置中完全啟用了它的解釋,並且該解釋位於主機的DOCUMENT_ROOT文件夾中。

還有一個一般性說明:您應該始終喜歡將此類規則放在http服務器主機配置中,而不要使用動態配置文件(“ .htaccess”)。 這些動態配置文件增加了復雜性,通常是導致意外行為,難以調試的原因,並且確實降低了http服務器的速度。 僅當您無法訪問真正的http服務器主機配置(閱讀:真正便宜的服務提供商)或堅持編寫自己的規則的應用程序(這顯然是安全的噩夢)時,才提供它們作為最后的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM