raksmart活动促销

分享

写回答

发帖

求助,写个.htaccess文件 来优化域名

国外虚拟主机 国外虚拟主机 2451 人阅读 | 6 人回复

发表于 2008-6-25 11:27:02 | 显示全部楼层 |阅读模式

想要实现的功能:

1  将不带WWW 的网址  全部转向到 带WWW的网址  如:输入a.com  自动转到 www.a.com

2 自动判断网址末尾有无斜杠  /  如果没有自动添加 /  如:输入 a.com/bbs  自动转到 www.a.com/bbs/
    我得主机比较变态  如果不加斜杠自动就将前面的www去掉  如:输入 www.a.com/bbs   他会自动变成 a.com/bbs/

各位大大 帮帮写个规则呀,htaccess这东西 偶搞不懂。  先谢谢了。

回答|共 6 个

小鬼

发表于 2008-6-25 11:45:19 | 显示全部楼层

第一那個我也想要...希望會的人可以幫幫忙...

一路同行

发表于 2008-6-25 12:38:05 | 显示全部楼层

在这里找找http://bbs.idcspy.com/thread-24187-1-1.html

lblzy

发表于 2008-6-25 12:52:35 | 显示全部楼层

谢谢 同行兄  
我琢磨琢磨

lblzy

发表于 2008-6-25 17:13:30 | 显示全部楼层

哈哈 搞定!
把我找的资料 贴这里,算是点贡献吧。

一 转向:
Apache下301转向代码(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^XXXX.cn [NC]
RewriteRule ^(.*)$ http://www.XXXX.cn/$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.XXXX.cn/$1 [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

4)另一种转向
RewriteCond %{HTTP_HOST} ^AAAA.com [NC]
RewriteRule ^(.*)$ http://www.BBBB.com/ [L,R=301]

二、斜杠问题
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.XXXX.com/$1/ [L,R=301]

说明:
RewriteCond %{REQUEST_FILENAME} !-f : 指定操作仅针对目录,对指向文件的url不进行rewrite操作;
RewriteCond %{REQUEST_URI} !(.*)/$ :判断url是否以斜杠“/”结尾;
RewriteRule ^(.*)$ http://www.XXXX.com/$1/ [L,R=301] : 自动将符合上述条件的url以301跳转重定向至以斜杠结尾的版本,比如说将“http://www.XXXX.com/about”重定向至“http://www.XXXX.com/about/”,其中“L”指该行为规则的最后一行,而“R=301”则指明采用301 Redirect。当然,您在使用时应将““http://www.XXXX.com/”替换成自己网站的url。

至此2个问题全部解决。

[ 本帖最后由 lblzy 于 2008-6-25 05:14 PM 编辑 ]

评分

参与人数 1金币 +3 收起 理由
一路同行 + 3 原创内容

查看全部评分

一路同行

发表于 2008-6-25 17:22:48 | 显示全部楼层

  非常感谢!

moda

发表于 2009-9-17 01:21:45 | 显示全部楼层

收藏
您需要登录后才可以回帖 登录 | 注册

本版积分规则