apache设置了301,不跳转

回复 收藏

QQ截图20161218172639.png

重启apache,输入域名www.test2.com,不能跳转到www.test.com。

还有discuz验证登录时,并没有提示AuthName的内容。

2016-12-18 17:30 举报
已邀请:
0

一九八七

赞同来自:


解决了,我是这么理解的,不知道有没有错误。

使用apache2.4配置301跳转和静态缓存时,分别在httpd-vhosts.conf中添加了mod_rewrite.so和mod_expires.so相关语句,但都不起作用。

于是用apachectl –M查看加载的模块,并没有expires_module (shared)和rewrite_module (shared)。

由于安装apache时,编译参数添加了—enable-rewrite=shared和—enable-expires=shared,所以直接打开httpd.conf,搜索“rewrite” ,找到:

LoadModule rewrite_module modules/mod_rewrite.so,启用即可。expires同理。

 

若是安装httpd时没有包含模块参数,需要用apxs安装:

以下来源于http://qingwang.blog.51cto.com/505009/293093X22X

增加mod_rewrite模块(expires同理)

# find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件

# cd PATH/to/mod_rewrite.c //进入包含mod_rewrite.c文件的目录

# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里

# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la 

如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。

编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下:

LoadModule rewrite_module modules/mod_rewrite.so

这时, apache应该已经支持rewrite。重启apache。

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: