Php 从一个静态URL重定向或重写到另一个静态URL
我想将一个静态URL重定向到另一个静态URL,但无法执行此操作 我要从中重定向的URL:Php 从一个静态URL重定向或重写到另一个静态URL,php,.htaccess,url,redirect,Php,.htaccess,Url,Redirect,我想将一个静态URL重定向到另一个静态URL,但无法执行此操作 我要从中重定向的URL: 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-Y
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
redirect,但没办法。还尝试了以下方法:
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]
这也不起作用。URL部分在
之后?
表示查询字符串。在RewriteRule的模式中,您不能与查询字符串
匹配。您需要使用{the_request}
变量匹配{QUERY_STRING}
或完整的请求头
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]
尝试:
这将处理所有此类链接,即/blogdail.php?id=将简单地替换为/blog/抱歉,它不起作用,它给了我500个内部服务器错误,以避免混淆,我将所有特殊uri字符替换为
+
。请尝试更新的规则。抱歉,这也不起作用,给我同样的500服务器错误抱歉有一个小错误。您的规则将重定向http://www.eyecatchers.co/blogdeail.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/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
哦,我以为FROM链接中有一些字符,它们错在那里了,我的错!感谢您的回复。但现在的问题是/blogdail.php?id=将被/blog/简单替换,24%2F将如何从该链接中删除?是的,请参阅@starkeen。我的解决方案适用于所有普通URL,并且是通用的。
RewriteEngine on
RewriteCond %{THE_REQUEST} /blogdetail.php\?id=([^\s]+) [NC]
RewriteRule ^ /blog/%1? [R=301,NC,L,R]