我需要将所有带短划线的网址重定向到特定网页
例如:
site.com/this-url
至site.com/page.php?url=this-url
重写规则
RewriteRule ^(.+-.+)$ page.php?url=$1
挂起http。没有反应。
出了什么问题以及如何做到这一点?
答案 0 :(得分:0)
试试这个,你可能会有一个无限循环。
RewriteCond $0 !^page\.php
RewriteRule ^(.+-.+)?$ page.php?url=$1 [L,B,QSA]
现在:
QSA
标志将原始请求中的所有查询参数附加到重写的请求B
标志转义反向引用$1
,以便可以安全地用作查询参数L
标志不是绝对必要的,但避免在匹配此标记时评估其他重写规则答案 1 :(得分:0)
您也可以尝试以下选项:
RewriteCond %{REQUEST_URI} !^page\.php
RewriteRule - page.php?url=%{REQUEST_URI} [L,B,QSA]