DiscuzX3.n系列域名转向问题的解决
来源:互联网 发布:苍穹之恋坐骑进阶数据 编辑:程序博客网 时间:2024/05/17 05:10
因各种原因,原使用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系列域名转向问题的解决
- 域名泛解析,二级域名转向问题- -完美解决
- 花生壳的域名转向
- 解决IIS7.5 IIS8下的discuzX3.2伪静态问题
- 域名转向系统的实现
- 域名转向系统的实现
- 域名解析、域名转向的作用
- 域名转向
- 解决DiscuzX3.3登录页面密码明文传输问题
- X@X.X域名转向的实现
- X@X.X域名转向的实现
- 一个简单的域名自动转向源代码
- X@X.X域名转向的实现
- Struts的转向问题
- 【discuzx3】管理员登录后直接自动退出的问题
- 解决域名无法解析的网址问题
- N皇后问题的解决
- 域名转向详细帮助
- CSUOJ 1329 一行盒子 数组模拟链表 附LIST解法
- 自加/自减运算符的重载
- 交易系统架构与设计[01]
- 黑马程序员—学习java基础4日志
- 海量数据面试题
- DiscuzX3.n系列域名转向问题的解决
- Android 中Java 和C/C++的相互调用方法
- Ubuntu中配置SSH服务
- 交易系统架构与设计[02]
- 关于xCode编译错误"ld: library not found for -*** linker command failed with exit code 1"的解决方法
- Linux中TCP连接过程状态简介
- Mark---获取view的高度和宽度(在onCreate方法中)
- Android.mk中添加宏定义
- wordpress优化