我有一个从不同的博客平台转换为 ExpressionEngine 的网站,并且我从以前索引的 url 中得到了一堆爬网错误,现在导致错误页面,因为 ExpressionEngine 不允许在 url 中使用某些字符。
导致错误的 url 遵循以下三种模式之一:
http://www.example.com/general/404/?404%3Bhttp://old.example.com:80/old-blog/random/segments
或者
http://www.example.com/blog/?404%3Bhttp://old.example.com:80/old-blog/random/segments
或者
http://www.example.com/blog/Default.aspx?404;http://old.example.com:80/old-blog/random/segments
我能够使用以下代码重定向第三个示例中的 url:
RewriteRule ^blog/Default.aspx?/?$ http://www.example.com/general/404/? [L,R=301]
有没有办法可以在其他 URL 到达 EE 之前用 htaccess 拦截它们并将它们重定向到我的 404 页面:http:www.example.com/general/404/?我不确定如何专门针对它们,因为在 ? 在查询字符串 url 段中。