如果你’您必须为您的一个网站进行301个重定向,您可能会因所有不同的方式而被淹没。那段代码真的很困惑,无法弄清楚。最好的资源之一’到目前为止发现了你通过这件事 .htaccess,301重定向& SEO是在Seobook的文章。
一旦您设置了301,重定向几次并变得更加熟悉.htaccess文件,它变得相当容易。今天是一个不同的故事,并且上面的Seobook文章’帮助我。我早上刚刚花了一大块,试图弄清楚如何重定向动态URL’s to static pages.
这里’s an example;
我想重定向
//www.example.com/page.php?id=68
到
//www.example.com/content/page
从我什么’读了,有些人似乎有运气做一个常规的301重定向与动态网址,但对于大多数人来说,它赢了’T。有很多不同的服务器配置,有时候您可能需要尝试您可以想到的一切,这就是我要做的事。在Seobook的.htaccess文章 做 提到如何执行此操作,但对于我正在处理的服务器,或网站配置(它是一个drupal网站),该方法刚刚’工作,所以我必须在整个地方搜索不同的方法。
这是最终为我工作的格式:
rewritecond%{query_string} ^ id = 1 $
Rewriterule ^ $ //www.example.com/content/page? [R=301,L]
所以拿你的网址并将它们插入适当的区域
在URL中的问号后,有一个ID。对于您的URL,这可能看起来不同,但您可以将其更改为您的URL的样子。例如,它可能会说Page.php?page_num = 68或某个效果的东西。然后,您只需在重定向代码中使用page_num = 68替换ID = 68。
另外,不’忘记将问题标记添加到您的新URL的末尾’重新尝试重定向。
因此,如果要重定向几个动态URL,这就是您的.htaccess应该如下所示:
rewritecond%{query_string} ^ id = 1 $
RewriteRule ^page.php$ //www.example.com/content/page? [R=301,L]
rewritecond%{query_string} ^ id = 72 $
RewriteRule ^page.php$ //www.example.com/content/page2? [R=301,L]
rewritecond%{query_string} ^ id = 46$
RewriteRule ^page.php$ //www.example.com/content/page3? [R=301,L]
这东西对我来说相当困惑,所以我’我试图写我的体验。我希望它有助于解决您是否必须尝试弄清楚如何为自己的网站重定向动态URL。
更新:任何必须为大型站点进行重定向的人,例如电子商务网站,知道创建数百个重定向粘贴到.htaccess文件时可能是多么繁琐。 TED Bradley有同样的问题,并向我发了一条消息,其中包含了一个链接到他创建的Excel电子表格,可以为您的所有肮脏工作进行。退房 301从动态到静态发电机重定向 上 his site.
额外的变体
I’ve一直得到很多奇数变化的请求,所以如果我想出来或者你的话’d想在自己的修复中发送,请做。
如果你 have URL’s具有多个ID,只需展开表达式
Old URL: //www.example.com/page.asp?id=4&mscsid=49
New URL: //www.example.com/page.asp?id=4&mscsid=49
rewritecond%{query_string} ^ id = 4&mscsid=49$
RewriteRule ^page.asp$ //www.example.com/content/page1? [R=301,L]
在单个语句中重定向许多URL(未测试。查看 评论 for more info)
Old URL: //www.example.com/page.php?id=1111
New URL: //www.example.com/content/page_name
RedirectMatch 301 ^page.php?id=(.*).htm$ //www.example.com/content/$1.html
重定向一个没有id的页面
Old URL: //www.example.com/?/page/55c9/
New URL: //www.example.com/newpage.php/page/55c9/
rewritecond%{query_string} ^ / page / 55c9 / $
Rewriterule ^ $ //www.example.com/newpage.php/page/55c9/? [R=301,L]
附加条款
这是我的几件事’在与我们的网站访问者和我得到的不同类型的重定向时学到了。
- 如果您的URL有一个哈希标志,它不会重定向。
- 如果这个帖子没有’T帮助回答您的问题,考虑在此提出 //www.webmasterworld.com/apache/ .
那些家伙总是回答了我所有的疯狂重定向问题。