打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
301重定向的实现方法

状况描述:301转向就不再多解释了,一般的linux系统平台上的网站在设置301转向的时候都是在根目录下添加.htaccess文件,文件里写相应的语句就可以了。但是我们可能会在这个网站的子目录安装不同的系统,比如在网站的forum文件夹目录下安装了discuz论坛,而你默认又启用了discuz的伪静态设置的话,则更根目录的301转向设置对这个forum目录是不起作用的。

现象描述:访问verydz.com可以自动301跳转到www.verydz.com;但是访问verydz.com/forum不会自动301跳转到www.verydz.com/forum

原因分析: 301转向是通过.htaccess这是rewrite语句来实现的,而forum文件夹下的discuz论坛也启用了.htaccess 的rewrite语句来设置伪静态,在两者冲突的情况下,以当前目录为准。于是,根目录的301转向不在forum目录有效了。

解决方法:修改forum目录的.htaccess文件,再多添加一条对应的301 rewrite语句。

具体要实现三个目标:
1.先把http://verydz.com/重定向到http://www.verydz.com/
2.再把http://verydz.com/forum重定向到http://www.verydz.com/forum
3.同时要对DZ论坛的伪静态也起作用,使得http://verydz.com/forum/thread-155-1-1.html这样的地址也能成功重定向到http://www.verydz.com/forum/thread-155-1-1.html

根目录设置301转向的代码可以写成如下:

  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^verydz.com$
  3. RewriteRule ^(.*)$ http://www.verydz.com/$1 [R=301,L]
复制代码

但forum文件夹下的.htaccess文件就有变化了:

  1. # 将 RewriteEngine 模式打开
  2. RewriteEngine On
  3. # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
  4. RewriteBase /forum
  5. # Rewrite 系统规则请勿修改
  6. RewriteCond %{HTTP_HOST} ^verydz\.com
  7. RewriteRule ^(.*)$ http://www.verydz.com/forum/$1 [R=301,L]
复制代码


然后这个下面跟着的就是DZ论坛原有的伪静态规则了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
伪静态规则写法RewriteRule
WinXp Apache虚拟主机开启Mod_rewrite
apache 配置 rewrite 重定向时 RewriteEngine On 发生 403forbidden 问题
htaccess: Invalid command ‘RewriteEngine’
.htaccess詳解及.htaccess參數說明
学习Apache
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服