因此,出于某种原因,我一直在进行重新设计的网站是使用一些博客软件(Serendipity)构建的,并且出于进一步未知的原因,对博客的入站链接就像这样 -
http://site_name.co.uk/blog/index.php?/archives/this-is-a-blog-title.html
在我的HTACCESS中使用以下重定向我设法重新链接新的URL结构
http://site_name.co.uk/blog/this-is-a-blog-title
RewriteRule ^blog(/?)$ /news [R=301,L]
RewriteCond %{QUERY_STRING} ^/archives/(.+?)\.html$ [NC]
RewriteRule ^blog/index\.php$ /news/%1? [R=301,L]
RewriteRule ^blog/index.php(.*)$ /news/$1 [R=301,L]
但是出现问题。由于旧链接将博客标题作为查询字符串的一部分,因此URL中允许使用特殊字符,例如
http://site_name.co.uk/blog/index.php?/archives/this-is-a-blog-title-google.co.uk.html
现在重定向到
http://site_name.co.uk/news/this-is-a-blog-title-google.co.uk.html
但我因为''而得到错误。在我的网址中。
我希望有一种方法可以剥离这些特殊字符,并且仍然可以重定向到新结构。
答案 0 :(得分:0)
问题出在正在使用的框架内。通过在框架URL结构中允许句点来解决问题。