Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已答复] 如何设置htaccess,才能将搜索收录的影响降到最低点呢

[复制链接]
kakashow 发表于 2009-10-21 18:58:57 | 显示全部楼层 |阅读模式
我现在的ss网站安装在主机的ss目录下
访问地址http://www.xxx.com/ss
目前有100多篇文章被谷歌收录,网站网址采用的是ss伪静态,例如:
http://www.xxx.com/ss/viewnews-117.html
http://www.xxx.com/ss/category-2.html
http://www.xxx.com/ss/action-news.html

现在我想改成二级域名进行访问(我现在用的主机空间管理面板可以实现)。也就是:
http://ss.xxx.com/viewnews-117.html
http://ss.xxx.com/category-2.html
http://ss.xxx.com/action-news.html

改成二级域名访问后,请问如何设置htaccess,才能使上述这样的网址在被访问时自动改成相应的二级域名地址呢?

另外,我还想问一下,这么做之后,对谷歌收录影响有多大呢?
 楼主| kakashow 发表于 2009-10-21 19:28:20 | 显示全部楼层
从谷歌搜了一个,可惜不是ss的。我先自己研究一下,大家有明白的指点一下啊
  1. RewriteEngine on

  2. RewriteCond %{HTTP_HOST} !^blog.dangyang.cc$ [NC]

  3. RewriteRule ^(.*)$ http://blog.dangyang.cc/$1 [L,R=301]

  4. RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1

  5. RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2

  6. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2

  7. RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
复制代码
回复

使用道具 举报

littlehz 发表于 2009-10-21 20:26:37 | 显示全部楼层
在原有Rewrite之前,加一条301跳转的rewrite,301跳转的条件是^/ss/(.*)$到http://ss.xxx.com/$1,详见帮助区的rewrite教程
回复

使用道具 举报

 楼主| kakashow 发表于 2009-10-21 21:12:47 | 显示全部楼层
3# littlehz


    按照你的办法去写的,将其加到了静态规则之前,如下
  1. ### 将 RewriteEngine 模式打开
  2. RewriteEngine On
  3. ### 修改以下语句中的 /SupeSite 修改为你的SupeSite目录地址,如果程序放在根目录中,请将 /SupeSite 修改为 /
  4. RewriteBase /
  5. ### Rewrite 系统规则请勿修改
  6. RewriteRule ^/ss/(.*) http://ss.a.com/$1 [R=301,L]
  7. RewriteRule ^([0-9]+)/spacelist(.+)$ index.php?uid/$1/action/spacelist/type$2 [L]
  8. RewriteRule ^([0-9]+)/viewspace(.+)$ index.php?uid/$1/action/viewspace/itemid$2 [L]
  9. RewriteRule ^([0-9]+)/viewbbs(.+)$ index.php?uid/$1/action/viewbbs/tid$2 [L]
  10. RewriteRule ^([0-9]+)/(.*)$ index.php?uid/$1/$2 [L]
  11. RewriteRule ^([0-9]+)$ index.php?uid/$1 [L]
  12. RewriteRule ^action(.+)$ index.php?action$1 [L]
  13. RewriteRule ^category(.+)$ index.php?action/category/catid$1 [L]
  14. RewriteRule ^viewnews(.+)$ index.php?action/viewnews/itemid$1 [L]
  15. RewriteRule ^viewthread(.+)$ index.php?action/viewthread/tid$1 [L]
  16. RewriteRule ^mygroup(.+)$ index.php?action/mygroup/gid$1 [L]
复制代码
若要实现ss.a.com伪静态,必须要将RewriteBase 改成 /
而如果要保留原有地址有效,除了要加一条RewriteRule外,还要将RewriteBase 仍设置为 /ss

这似乎成了不可解决的矛盾,两者只可实现其一。littz能帮我再想想吗?
回复

使用道具 举报

 楼主| kakashow 发表于 2009-10-22 07:58:04 | 显示全部楼层
本帖最后由 kakashow 于 2009-10-22 08:12 编辑

jingwu和littehz在吗?这个矛盾能解决的了嘛
回复

使用道具 举报

littlehz 发表于 2009-10-22 08:52:59 | 显示全部楼层
RewriteBase 用 / 即可,RewriteRule是相对RewriteBase的地址,可以不用RewriteBase而直接把URI请求放RewriteRule中。
RewriteRule ^/ss/(.*) http://ss.a.com/$1 [R=301,L]
这个是独立主机用的,用这个试试
  1. RewriteRule ^ss/(.*) http://ss.a.com/$1 [R=301,L]
复制代码
回复

使用道具 举报

 楼主| kakashow 发表于 2009-10-22 09:01:01 | 显示全部楼层
仍然是404错误
回复

使用道具 举报

 楼主| kakashow 发表于 2009-10-22 09:01:27 | 显示全部楼层
本帖最后由 kakashow 于 2009-10-22 09:03 编辑

6# littlehz


    打开www.a.com/ss/viewnews-111.html这样的网页仍然是404错误。

ss.a.com所有的网址都没有问题
回复

使用道具 举报

littlehz 发表于 2009-10-22 09:14:22 | 显示全部楼层
忘了后面加了 L 参数就是rewrite到此终止执行了。NC是不区分大小写
  1. RewriteRule ^ss/(.+) http://ss.a.com/$1 [R=301,NC]
复制代码
回复

使用道具 举报

 楼主| kakashow 发表于 2009-10-22 09:32:19 | 显示全部楼层
9# littlehz


    还是无效。(这次给的代码里的+换成*也不好用)

对了,这条rewriterule一直是放到ss目录下的htaccess文件里了。既然无效的话,可不可以放到主域根目录下呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 13:56 , Processed in 0.035569 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表