2016-12-31 54 views
2

我明白.htaccess URL重寫的問題已經問了很多次但是除去Q =,我真的努力讓這兩個東西結合工作。如何從URL中使用的.htaccess

我的網站採取以下URL並執行通配符搜索

http://www.localhost:8888/exercises/exercise?q=overehead%20squat&

我使用以下規則來刪除所有%20空間給我:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%20|\s)+(.+?)\sHTTP [NC] 
RewriteRule^/%1-%2 [L,NE,R=302] 

給出:http://www.localhost:8888/exercises/exercise?q=Overhead-Squat

的最後一件事我會做的是去除的?q =所以URL看起來麗柯本:

http://www.localhost:8888/exercises/exercise/overehead-squat

這是沒有必要讓它小寫,但它是可取的。

非常感謝提前。

回答

1

創建一個名爲「鍛鍊; Tibial」目錄,並把你的代碼文件中它(命名爲index.php),並將此.htaccess

RewriteEngine On 
RewriteRule ^(.*) index\.php?q=$1 
+0

感謝烏里,我使用的工藝CMS所以沒有平常將index.php放在自己的目錄中。是否有可能找到/ exercise的每個實例?q =查詢並將其替換爲/ exercises/query。 – Taylorsuk

+0

我還在這個strugging - 這是給我正確的重新編寫URL但它是不是對我進行查詢。 '的RewriteCond 「%{QUERY_STRING}」 「(*(:?^ |&))?(。*)?(。*)Q =([^&] *)&&$」 重寫規則 「」「% 1 $ 1/2%/?」 [PT]' – Taylorsuk

+0

那麼目前它並沒有在所有的工作......我在上面貼的代碼沒有像你的嗎?所以,目前它並沒有解決這個問題 - 因此它不是正確答案或給予它是什麼做了很好的解釋。感謝您的幫助 - 但這不能回答這個問題。 – Taylorsuk