wordpress下的自写php代码如果遇到500就会出现wordpress的404错误,何解? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ejin
0.01D
V2EX    PHP

wordpress下的自写php代码如果遇到500就会出现wordpress的404错误,何解?

  •  
  •   ejin 2013-11-02 08:10:44 +08:00 3279 次点击
    这是一个创建于 4450 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自写的php程序跟php没有半毛钱关系,就是自己自用的其它功能的,也不依赖wordpress,文件夹也是新建的,只是这个站是wordpress为主的,不得不放在里面。

    记得wordpress的网址重写规则是,当文件不存在或者文件夹不存在时,重写到/index.php。

    但是我经常写php遇到500错误的时候,都会变成wordpress的404页面。

    另外也不是所有500错误都会变成wordpress的404页面,是有些情况,说不来为什么,因为有些错误php会直接报错,正常的返回错误。有的500错误直接返回wordpress的404页面。

    php会出现wordpress的404页面时,并非是php跳转或者读取了不存在的文件,因为根本没有对文件操作。
    11 条回复    1970-01-01 08:00:00 +08:00
    chairuosen
        1
    chairuosen  
       2013-11-02 09:07:31 +08:00 via iPad
    子文件夹没单独设置.htaccess好像会用根目录的,你又肯定设置了伪静态所以可能会交由wp判断一下?猜的
    ericls
        2
    ericls  
       2013-11-02 09:53:06 +08:00 via Android   1
    找不到500错误的页面?
    0racleTink
        3
    0racleTink  
       2013-11-02 10:11:04 +08:00 via iPad
    因为没有500错误页面,所以就404了
    yanwen
        4
    yanwen  
       2013-11-02 10:17:48 +08:00
    删掉站点下面的.htaccess,然后再wordpress后台重新设置一下伪静态。
    ejin
        5
    ejin  
    OP
       2013-11-02 14:00:10 +08:00
    @chairuosen
    @ericls
    @sophy

    我觉得是不是我没描述清楚呢,php错误不应该是直接输出在页面上的吗?我也没关闭输出500错误啊?为什么需要500页面?(我知道你们说的是500单独一个页面显示500错误,但是我是需要显示报错的,所以500页面自然就不需要了吧)而且平时语法错误,忘记打分号都是会报错并中断的。

    而且在htaccess中也没自定义错误页面。

    @yanwen
    我的htaccess很正常,而且平时访问也没问题,问题出在有500错误的时候,会出现WP的404页


    顺便贴上我的htaccess吧,只有wp目录有。

    DirectoryIndex default.html default.htm default.php index.html index.htm index.php
    LimitRequestBody 10240000
    SetEnv TZ Asia/Shanghai
    #AddOutputFilter DEFLATE html htm xml php js css
    #<ifmodule mod_deflate.c>
    #AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-Javascript
    #</ifmodule>
    Options -Indexes
    # BEGIN WPSuperCache
    # END WPSuperCache

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress
    bombless
        6
    bombless  
       2013-11-02 15:21:11 +08:00
    噗,有可能一开始你对你的500错误的理解有误
    chairuosen
        7
    chairuosen  
       2013-11-02 18:10:50 +08:00
    @ejin 子目录放个.htaccess写RewriteEngine Off试试呢?
    ejin
        8
    ejin  
    OP
       2013-11-02 18:52:35 +08:00
    @chairuosen
    还是404。日志里也是404
    @bombless
    500就是服务器内部错误嘛,根据不同的服务器设置,有可能会直接在页面输出错误告诉我在哪个文件第几行,也可能直接返回一个独立的什么内容都没有的500页面嘛。

    当然也有可能是服务器没设置好,htaccess编码不对都可能导致
    tonitech
        9
    tonitech  
       2013-11-02 22:52:25 +08:00
    我觉得应该是你的服务器要指向500的错误页面,返回的404应该是找不到500的错误页面。你应该要修改下.htaccess的规则,你可以把php的文件放到你自定义的一个目录里面方便管理和以后添加新的自定义php文件,然后添加一个规则:
    RewriteRule ^/替换为自定义目录名(.*)$ /替换为自定义目录名$1 [L]
    xzl
        10
    xzl  
       2013-11-04 08:54:38 +08:00
    @tonitech 正解,如da,404状态其实是因为500.shtml没有找到,认真看一下access.log就知道了。
    ejin
        11
    ejin  
    OP
       2013-11-04 09:31:23 +08:00
    @xzl 昨天看了日志的 cpanel的日志里写的是404,路径就是php的路径,所以无法判断,今天有空再试试了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5344 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 03:41 PVG 11:41 LAX 19:41 JFK 22:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86