0
我需要用破折號將所有網址重定向到特定頁面。
例如:
site.com/this-url
到site.com/page.php?url=this-url
RewriteRule - 以破折號取所有網址
重寫規則
RewriteRule ^(.+-.+)$ page.php?url=$1
只是掛HTTP。沒有反應。
什麼是錯,它是如何做到的?
我需要用破折號將所有網址重定向到特定頁面。
例如:
site.com/this-url
到site.com/page.php?url=this-url
RewriteRule - 以破折號取所有網址
重寫規則
RewriteRule ^(.+-.+)$ page.php?url=$1
只是掛HTTP。沒有反應。
什麼是錯,它是如何做到的?
試試這個,你可能會有一個無限循環。
RewriteCond $0 !^page\.php
RewriteRule ^(.+-.+)?$ page.php?url=$1 [L,B,QSA]
現在:
QSA
標誌附加由原來的請求重寫的請求B
標誌逃避反向引用$1
,以便它可以安全地用作查詢參數L
標誌並非絕對必要,但避免了在這一塊匹配你也可以嘗試這個選項評估其他重寫規則:
RewriteCond %{REQUEST_URI} !^page\.php
RewriteRule - page.php?url=%{REQUEST_URI} [L,B,QSA]