从一个静态URL重定向或重写到另一个静态URL

时间:2018-01-18 05:28:18

标签: php .htaccess url redirect

我想将一个静态网址重定向到另一个静态网址,但无法将其重定向。

我要重定向的网址:

http://www.eyecatchers.co/blogdetail.php?id=24%2FWHY-YOUR-WEBSITE-IS-THE-NERVE-CENTER-OF-YOUR-ONLINE-MARKETING-%E2%80%93-AN-EYECATCHERS%E2%80%99-TAKE%E2%80%A6..%2F

对此:

http://www.eyecatchers.co/blog/WHY-YOUR-WEBSITE-IS-THE-NERVE-CENTER-OF-YOUR-ONLINE-MARKETING-AN-EYECATCHERS-TAKE

我尝试使用301重定向,但无法帮助它。也试过这个:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^blogdetail.php?id=24%2FWHY-YOUR-WEBSITE-IS-THE-NERVE-CENTER-OF-YOUR-ONLINE-MARKETING-%E2%80%93-AN-EYECATCHERS%E2%80%99-TAKE%E2%80%A6..%2F http://www.eyecatchers.co/blog/WHY-YOUR-WEBSITE-IS-THE-NERVE-CENTER-OF-YOUR-ONLINE-MARKETING-AN-EYECATCHERS-TAKE [R=301,L]

这也不起作用。

2 个答案:

答案 0 :(得分:0)

?后面的URL部分表示查询字符串。您无法在RewriteRule的模式中与Query string匹配。您需要使用%{QUERY_STRING}变量与{THE_REQUEST}或完整请求标头匹配。

 RewriteEngine on

RewriteCond %{THE_REQUEST} /blogdetail.php\?id=.+WHY-YOUR-WEBSITE-IS-THE-NERVE-CENTER-OF-YOUR-ONLINE-MARKETING.+ [NC]
RewriteRule ^ http://www.eyecatchers.co/blog/WHY-YOUR-WEBSITE-IS-THE-NERVE-CENTER-OF-YOUR-ONLINE-MARKETING-AN-EYECATCHERS-TAKE? [R=301,L]

答案 1 :(得分:0)

尝试:

RewriteEngine on
RewriteCond %{THE_REQUEST} /blogdetail.php\?id=([^\s]+) [NC]
RewriteRule ^ /blog/%1? [R=301,NC,L,R]

这将照顾所有这些链接,即 /blogdetail.php?id = 将简单地替换为 / blog /