因各种原因,原使用http://bbs.lgms.net域名需转向到http://www.szlgcn.com域名。

我写了一个301.inc.php的包含文件,目的是让有需要引用的论坛程序文件在需要时引用。

301.inc.php文件的内容:

<?php

$the_host = $_SERVER['HTTP_HOST']; //取得当前访问域名
$url = $_SERVER['PHP_SELF']; //获取域名后的字串,如:/bbs/index.php
$filename= substr( $url , strrpos($url , '/')+1 ); //提取当前文件名
$querystring = $_SERVER['QUERY_STRING']; //获取问号后面的参数
//echo ' location='.$the_host.'/'.$filename.'?'.$querystring;  //测试之用,看看取得的链接
if ($the_host !== 'www.szlgcn.com') //验证当前访问域名(就是你的新域名):若非引号内的域名,则进行如下跳转——
{
 if ($querystring !== '') //验证文件名后是否有参数,如果有参数则跳转到——
 {
   echo '<script language="javascript">'; 
   echo ' location="http://www.szlgcn.com/'.$filename.'?'.$querystring.'"'; 
   echo '</script>';
 }
 elseif ($filename == 'index.php') //如果是主页则直接跳转到新域名
 {
   echo '<script language="javascript">'; 
   echo ' location="http://www.szlgcn.com/"'; 
   echo '</script>';
 }
 else //如果无参数则跳转到——
 {
   echo '<script language="javascript">'; 
   echo ' location="http://www.szlgcn.com/'.$filename.'"'; 
   echo '</script>';
 }
}

?>

在可能涉及转向的程序文件中引用,比如:forum.php,引用方式是在"<?php"的下面插入第二行:

include('301.inc.php');

结果类似这样:

<?php
include('301.inc.php'); //301重定向

//后面为您的其他代码

?>

OK.

备注:上述“涉及转向的程序文件”在DZ X3.n版本中可能有:

search.php,portal.php,home.php,group.php等。比如:http://bbs.lgms.net/forum.php?mod=viewthread&tid=16787 

注:如想修改plugin.php,index.php, member.php等则还需要对相关程序做微调,在此不细说。

以上解决方案显得较为复杂,还可能出现预想不到的问题,比如:图片上传时可能不显示等。

有没有更好的解决方案呢?有!

那就是使用Apache配置文件,利用IfModule mod_rewrite.c配置节进行域名转向。

1、使用ps -aux查看所有进程并找到WEB服务所在的目录。

2、在Apache所在的目录找到httpd.conf文件。

3、对httpd.conf进行修改:

(1)保证LoadModule rewrite_module modules/mod_rewrite.so有效(如前面有#,去掉#);

(2)修改ServerName localhost:80,ServerAdmin yourQQNo@qq.com(选做);

(3)修改网站所在目录的Options FollowSymLinks后的AllowOverride为All(一般情况下为None)。

(4)增加<IfModule mod_rewrite.c>节,内容为:

<IfModule mod_rewrite.c>

RewriteEngine On
    RewriteCond %{HTTP_HOST} ^bbs.lgms.net [NC]
    RewriteRule ^(.*)$ http://www.szlgcn.com/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^s.lgms.net [NC]
    RewriteRule ^(.*)$ http://www.szlgcn.com/$1 [R=301,L]
</IfModule>

注:请在相关位置换成你自己的域名或转向替换网址。

4、修改完成后,重启Apache。命令为:service httpd restart。

OK。测试正常,说明已成功。

DiscuzX3.n系列域名转向问题的解决相关推荐

  1. X@X.X域名转向的实现

    www.chinacs.net 中文C#技术站 当你看到csdn@csdn.com时,你肯定把这当作电子邮件地址,其实这个不一定是邮件地址,有可能是域名.现在有越来越多的人开始使用这个形式的地址了.初 ...

  2. Docker系列5--一些问题及解决

    Docker系列5--一些问题及解决 参考文章: (1)Docker系列5--一些问题及解决 (2)https://www.cnblogs.com/drawnkid/p/8884240.html 备忘 ...

  3. Xampp配置本地域名及常见错误解决

    Xampp配置本地域名及常见错误解决 本地域名配置 1.计算机-->C盘-->Windows-->System32-->drivers-->etc-->hosts ...

  4. 什么是A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,泛域名(泛解析),域名转向,域名绑定...

    什么是A记录,子域名,CNAME别名,MX记录,TXT记录,SRV 记录,泛域名(泛解析),域名转向,域名绑定 A记录 QUOTE: A (Address) 记录是用来指定主机名(或域名)对应的IP地 ...

  5. 域名转向目录php代码,php域名301转向程序代码

    php中页面301跳转我们使用header()函数发送状态代码301的同时再跳转到指定页面了,实现的方法非常的简单. 注意: 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同 ...

  6. 域名纠错系统怎么解决

    相信大多人们都遇到过,在输入一个域名地址后,打开的并不是正常的网站信息,而是跳转到了"您所访问的网址不存在或网络无法访问"错误提示页面.什么是域名纠错系统?域名纠错系统怎么解决?返 ...

  7. 检测到域名被墙如何解决?域名被墙怎么快速恢复?

    域名被墙是什么?域名被中国防火墙(GFW)拦住了,GFW不仅限制国内的访问国外网站,也限制国外的访问国内的网站.通常是我们的域名解析到了海外的服务器,网站上可能存在一些在国内不能传播的内容以及敏感词汇 ...

  8. 域名被墙怎么办?域名被墙案例-解决办法

    域名被墙怎么办?可能有很多站长小白遇到这种问题都不知道怎么解决,域名被墙的原因有很多,不同的原因都可以用同一种办法解决,那么接下来笔者就讲讲自己域名被墙并解决了的经历吧. 笔者之前是做电影分享网站的, ...

  9. 域名被墙的解决方法是什么?

    近期用户小谭几百块买的一个域名后,发现该域名解析成功但是一直无法生效.查过很多原因一直都没弄清楚,于是问到了购买网站平台的客服才知道域名是被墙了导致不能使用.那么什么是域名被墙呢?域名为什么会被墙?都 ...

  10. 关于win7下的创新A系列声卡设置,完美解决麦克不能实时加混音问题!

    关于win7下的创新A系列声卡设置,完美解决麦克不能实时加混音问题! 此贴于2010.9.9更新 此帖主要针对创新A系列(现手上只有A2ZS,Live系列只能参照)在vista.win7下不支持EAX ...

最新文章

  1. .NET判断字符串是否是数值型或xxx型
  2. oracle去掉blob的黑边,oracle Blob处理
  3. 编译安装MySQL5.6失败的相关问题解决方案
  4. 入门Java开发,这三大知识体系你要知道
  5. Paint X for Mac的用法
  6. python的print输出_python中的print()输出
  7. [转]Android 之 Window、WindowManager 与窗口管理
  8. 11. GD32F103C8T6 入门教程-外部中断
  9. 吉大计算机学院周柚,周柚
  10. 在线log计算机,log换算(log计算器在线)
  11. pat basic 1096 大美数
  12. HTML 的属性 lang=“en“ 语言设置为中文
  13. 图神经网络(ICML2022)
  14. 计算机主板供电,如何查看电脑主板是几项供电的?电脑主板供电相数基础知识科普...
  15. 单片机 | keil4串口CH430驱动安装失败
  16. 从人工智能角度考虑生命的本质和意义
  17. 小虎电商浏览器:拼多多怎么看单品实时数据
  18. VS Code快速实现Git PR操作
  19. win10下shell入门学习(一)
  20. springboot报错 The Bean Validation API is on the classpath but no implementation could be found

热门文章

  1. 一款网页游戏外挂开发-数据抓包
  2. python 爬取财经新闻_python爬取路透社财经新闻
  3. 进击的速溶咖啡:当中国AI开始玩工业化
  4. Ubuntu12.04 Thinkpad T410i 安装记录 持续更新...
  5. 46-Java-RabbitMQ
  6. java程序员昵称_那些神秘的Java程序员
  7. lodop直接打印服务器的文件,C-Lodop云打印服务器
  8. Nordic 52832工程报错undefined reference to `__start_pwr_mgmt_data'解决办法
  9. Take me to your heart(English Song)
  10. 企业邮箱为何不能当作邮件群发工具