2010-06-07 47 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]