是否有可能一個前綴htaccess的重寫規則前綴一個友好的URL
例如可變量被用來作爲前綴的網址
website.com/ $變量 - 用於出售/
/cupcakes-for-sale/
/pies-for-sale/
/flans-for-sale/
的想法是,然後使用該變量來顯示所有的蛋糕/餡餅/銷售flans
何這會寫成重寫規則嗎?它甚至有可能嗎?
感謝
是否有可能一個前綴htaccess的重寫規則前綴一個友好的URL
例如可變量被用來作爲前綴的網址
website.com/ $變量 - 用於出售/
/cupcakes-for-sale/
/pies-for-sale/
/flans-for-sale/
的想法是,然後使用該變量來顯示所有的蛋糕/餡餅/銷售flans
何這會寫成重寫規則嗎?它甚至有可能嗎?
感謝
第一條規則將負責將您的醜陋URL重新定向爲Friendly。
第二條規則將在內部重定向它,以便瀏覽器URL保持友好的URL,同時爲頁面的內容提供服務。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase/
# Redirect /?cake=anything to /anything-for-sale/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+\?cake=([^&\s]+) [NC]
RewriteRule^/%1-for-sale/? [R=302,L]
# Internally forward /anything-for-sale/ to /?cake=anything
RewriteRule ^([^-]+)-for-sale/?$ /?cake=$1 [NC,L]
記住我使用R=302
它總是最好使用302
這意味着臨時重定向,同時也使永久作爲永久將緩存中的信息到瀏覽器之前測試新規則。一旦該規則被確認爲按預期工作變化R=302
至R=301
。
要提取的變量,你需要在正確的方式使用正則表達式括號,然後就可以用$1
來獲取組:
RewriteRule ^([^-]+)-for-sale/$ /target.php?variable=$1 [L]
「目標」的部分是劇本你用來顯示「變量」。既然你的問題沒有提到這是什麼,你必須弄清楚。
我不確定你想說什麼,但你可以創建一個URL,如'domain.com/cupcakes-for-sale /'和一個RewriteRule,它將內部重定向該URL更具體的單詞紙杯蛋糕到您的PHP文件來顯示你想要的數據,例如'read.php?recipe = cupcakes'。 – Prix
我想我錯過了一些東西,新的htaccess所以不完全確定我必須把。我會再試一次。我想我想要的東西像?蛋糕=紙杯蛋糕,然後追加一個待售/在它的結尾,以便它看起來像紙杯蛋糕出售/或出售餡餅。是否有可能重寫這樣的動態網址?希望清理它一點@Prix謝謝=) – Ultigma
我已經做了編輯=)希望它會幫助@Prix – Ultigma