2010-06-07 46 views
0

我需要用破折號將所有網址重定向到特定頁面。
例如:
site.com/this-urlsite.com/page.php?url=this-urlRewriteRule - 以破折號取所有網址

重寫規則

RewriteRule ^(.+-.+)$ page.php?url=$1 

只是掛HTTP。沒有反應。

什麼是錯,它是如何做到的?

回答

0

試試這個,你可能會有一個無限循環。

RewriteCond $0 !^page\.php 
RewriteRule ^(.+-.+)?$ page.php?url=$1 [L,B,QSA] 

現在:

  • 的的RewriteCond避免匹配的規則,如果你已經要求page.php文件
  • QSA標誌附加由原來的請求重寫的請求
  • 的所有查詢參數B標誌逃避反向引用$1,以便它可以安全地用作查詢參數
  • L標誌並非絕對必要,但避免了在這一塊匹配
0

你也可以嘗試這個選項評估其他重寫規則:

RewriteCond %{REQUEST_URI} !^page\.php 
RewriteRule - page.php?url=%{REQUEST_URI} [L,B,QSA]