APACHE服务器500错误解决方法与强制跳转

遇到500问题 可以如下解决
1.APACHE没开启rewrite模块。
解决办法:编辑apache的http.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的#,重启APACHE.
2 .htaccess文件有错误。通常是因为写入了不合语法的规则。
解决办法:删除该目录中的.htaccess即可。如果还是不行,再删除上级目录的.htacess,如此反复。
3,权限问题,同时查看/var/log/apache2/error.log日志。

于是我找到了这么一个东西

1
在httpd.conf文件里使下面模块生效
LoadModule rewrite_module modules/mod_rewrite.so

2
httpd.conf配置文件或者是在httpd-vhost.conf文件里修改

<Directory "C:/Apache2.2/docs/1.com">

Options Indexes FollowSymLinks
AllowOverride All
//上面是http-https时需要添加的语句

Order allow,deny
Allow from all
</Directory>

3
在网站根目录下面添加该文件“.htaccess” 目录访问控制文件,并添加如
下内容:

RewriteEngine on #开启重定向引擎

RewriteBase / #可以不设置

RewriteCond %{SERVER_PORT} !^443$ #非443端口的数据全部进行重定向

RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] #把需要重定向的内容重定向到https

.htaccess文件不能在win平台下自己创建,可以使用下面链接在线生成该文件:http://www.wangqu.org/htaccess/#a_WWW

RewriteEngine on #开启重定向引擎

RewriteBase / #可以不设置

RewriteCond %{SERVER_PORT} !^443(或者其他端口)$ #非443端口
的数据全部进行重定向

RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] #
把需要重定向的内容重定向到https

如果是默认不是443端口,那么可以在最后一行写成这样
RewriteRule ^.*$ https://www.domain.com:8443

当然如果默认是443的话,也可以这么写
RewriteRule ^.*$ https://www.domain.com

该 .htaccess 需要放置在网站的根目录下面才可以生效

含义是这样的:为了让用户访问传统的http://转到https://上来,用了一下
rewrite规则:
第一句:启动rewrite引擎
第二句:rewrite的条件是访问的服务器端口不是443端口
第三句:这是正则表达式,^是开头,$是结束,/?表示有没有/都可以(0或
1个),(.*)是任何数量的任意字符
整句的意思是讲:启动rewrite模块,将所有访问非443端口的请求,url地址
内容不变,将http://变成https://。

5、查看一下httpd.conf,如果以下几项给注释掉了,就打开这些选项:
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.c

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值