的从URL shows.php?id=review-1
导向创建一个搜索引擎友好的URL,并使用301重定向进一步重定向服务器端控制文件下列RewriteRule
转发流量。使用CURL
,重定向到控制器文件显示为200,直接链接到控制器文件显示301重写规则返回HTTP 200时,它应该是HTTP 301
这里是我的RewriteRule
:
RewriteCond %{THE_REQUEST} ^GET\s/shows\.php\?
RewriteCond %{QUERY_STRING} (^|&)id=review-[0-9]+(&|$) [NC]
RewriteRule^/controllers/redirectseo.php? [R=301,L,NC,QSA]
这里是我的CURL
调用结果:
curl -I http://www.defunctgames.com/shows.php?id=review-1
HTTP/1.1 200 OK
curl -I http://www.defunctgames.com/controllers/redirectseo.php?id=review-1
HTTP/1.1 301 Moved Permanently
更新1:
我试着修改我的RewriteRule
摆脱[QSA]
,认为也许这是问题。它仍然不会返回301.下面的重写规则会返回301,所以我知道它在某种程度上有效。 FQL可能会有所作为吗?
RewriteRule ^defunctexplorer.htm$ http://www.defunctgames.com/ [R=301,L]
更新2:
我尝试了FQL重定向,并且不有所作为无论是。下面是我到目前为止有:
RewriteCond %{THE_REQUEST} ^GET\s/shows\.php
RewriteCond %{QUERY_STRING} (^|&)id=([a-z]+)-([0-9]+)(&|$) [NC]
RewriteRule^http://www.defunctgames.com/controllers/redirectseo.php?id=%2-%3 [R=301,L,NC]
嗨。你找到解决方案吗?我已经应用了301重定向,它似乎可以工作,但使用curl它说“200代码响应”。 – JCarlos 2017-08-07 16:10:18