zoukankan      html  css  js  c++  java
  • APACHE服务器500错误解决方法

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

    转 https://blog.csdn.net/u011685720/article/details/48680401

    遇到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

    apache出现 internal server error 500错误常见原因

    ubuntu apache .htaccess 500错误500 internal error with RewriteEngine on

    系统ubuntu 14.04
    原因apache配置没有载入rewrite模块,ubuntu中apache的配置模块和配置虚拟主机是通过a2ensite a2enmod命令,不是直接去修改apache的配置,间接修改apache的配置实现的....这两个命令的详细解释自行man

    解决sudo a2enmod rewrite
    sudo service apache2 restart

    我是从zf2配置.htaccess中遇到这样的问题

    后记

    确认ubuntu上rewrite模块是否安装: ls /etc/apache2/mods-available | grep rewrite
    rewrite.load 有这个文件,默认都有安装

    确认apache配置是否载入 rewrite ls /etc/apache2/mods-enabled | grep rewrite
    rewrite.load 有这个文件表示已经载入配置

    参考:http://stackoverflow.com/questions/19718919/500-internal-error-with-rewriteengine-on-htaccess-on-localhost-with-wamp

    https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts


    PHP在Apache下500错误的原因

    g纠结了半天,才发现问题的症结:原来的PHP 关闭了错误的显示。

    下面讲解如何开启错误提示步骤:

    1. 打开php.ini文件。
    以我的ubuntu10.10为例,这个文件在: /etc/php5/apache2 目录下。

    2. 搜索并修改下行,把Off值改成On
    display_errors = Off

    3. 搜索下行
    error_reporting = E_ALL & ~E_NOTICE
    或者搜索:
    error_reporting = E_ALL & ~E_DEPRECATED
    修改为
    error_reporting = E_ALL | E_STRICT

    4. 修改Apache的 httpd.conf,
    以我的 Ubuntu 为例, 这个文件在:/etc/apache2/  目录下,这是一个空白文件。
    添加以下两行:
    php_flag display_errors        on
    php_value error_reporting       2039

    5. 重启Apache,就OK了。
    重启命令: :sudo /etc/init.d/apache2 restart


    thinkphp6又一个坑 apache伪静态 .htaccess在本地调试500错误问题

  • 相关阅读:
    Windows下MySQL8.0.23的下载与安装简单易用
    【转】decimal double的区别
    【转】.NET垃圾回收
    vs2010 断点调试故障 反编译插件引起的
    【摘】别人对面向对象的理解
    【转】C# indexof
    【转】八大排序算法总结
    【转】JS windows.open()详解
    【转】with as
    【转】SQL Server的几种约束
  • 原文地址:https://www.cnblogs.com/it-tsz/p/14230694.html
Copyright © 2011-2022 走看看