Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 404错误-未定义索引:重定向URL_Php_.htaccess_Mod Rewrite_Http Headers_Easyphp - Fatal编程技术网

Php 404错误-未定义索引:重定向URL

Php 404错误-未定义索引:重定向URL,php,.htaccess,mod-rewrite,http-headers,easyphp,Php,.htaccess,Mod Rewrite,Http Headers,Easyphp,我不明白。我在.htaccess中设置了404错误,当我键入类似http://{localhost}/mywebiste/xxx/xxx/xxx/xxx/ 但是我得到了这个错误 Notice: Undefined index: REDIRECT_URL in C:\... Notice: Undefined index: REDIRECT_STATUS in C:\... 因为 .htaccess RewriteEngine on ErrorDocument 404 http://{loca

我不明白。我在
.htaccess
中设置了404错误,当我键入类似
http://{localhost}/mywebiste/xxx/xxx/xxx/xxx/

但是我得到了这个错误

Notice: Undefined index: REDIRECT_URL in C:\... 
Notice: Undefined index: REDIRECT_STATUS in C:\...
因为

.htaccess

RewriteEngine on
ErrorDocument 404 http://{localhost}/projects/.../error.php
error.php

$redirect_url = $_SERVER["REDIRECT_URL"];
$status = $_SERVER['REDIRECT_STATUS'];
有什么想法吗

我试过这两个网站的代码但都不起作用

另外,我在EasyHP Devsever上。我想看看有没有

print_r($_SERVER);
我明白了

Array
(
    [TMP] => C:/Program Files (x86)/EasyPHP-DevServer-14.1VC11/binaries/tmp
    [HTTP_HOST] => localhost
    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
    [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [HTTP_ACCEPT_LANGUAGE] => en-GB,en;q=0.5
    [HTTP_ACCEPT_ENCODING] => gzip, deflate
    [HTTP_COOKIE] => PHPSESSID=204j1jvbinr4j1i0ebg9eq0ue5
    [HTTP_CONNECTION] => keep-alive
    [PATH] => C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\binaries\php\php_runningversion;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;\;C:\Program Files (x86)\Sony\VAIO Startup Setting Tool;C:\Program Files (x86)\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\Java\jdk1.8.0_05\bin;C:\Program Files\nodejs\;C:\Program Files (x86)\Git\cmd;C:\Users\lau_thiamkok\AppData\Roaming\npm;C:\Program Files\nodejs;C:\Program Files (x86)\Git;C:\PROGRA~2\EASYPH~1.1VC\Apache\bin;C:\PROGRA~2\EASYPH~1.1VC\PHP
    [SystemRoot] => C:\Windows
    [COMSPEC] => C:\Windows\system32\cmd.exe
    [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    [WINDIR] => C:\Windows
    [SERVER_SIGNATURE] => 
    [SERVER_SOFTWARE] => Apache/2.4.7 (Win32) PHP/5.5.8
    [SERVER_NAME] => localhost
    [SERVER_ADDR] => 127.0.0.1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => 127.0.0.1
    [DOCUMENT_ROOT] => C:/Program Files (x86)/EasyPHP-DevServer-14.1VC11/data/localweb
    [REQUEST_SCHEME] => http
    [CONTEXT_PREFIX] => 
    [CONTEXT_DOCUMENT_ROOT] => C:/Program Files (x86)/EasyPHP-DevServer-14.1VC11/data/localweb
    [SERVER_ADMIN] => admin@127.0.0.1
    [SCRIPT_FILENAME] => C:/Program Files (x86)/EasyPHP-DevServer-14.1VC11/data/localweb/projects/tests/php-boilerplate/404/basic/error.php
    [REMOTE_PORT] => 55762
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => code=404
    [REQUEST_URI] => /projects/tests/php-boilerplate/404/basic/error.php?code=404
    [SCRIPT_NAME] => /projects/tests/php-boilerplate/404/basic/error.php
    [PHP_SELF] => /projects/tests/php-boilerplate/404/basic/error.php
    [REQUEST_TIME_FLOAT] => 1416567060.231
    [REQUEST_TIME] => 1416567060
)
但是我没有看到像中那样的
重定向*


您知道如何在本地主机中使用
REDIRECT.*
吗?

您可以避免在
ErrorDocument 404
指令中使用完整的
http://
来填充这两个值:

ErrorDocument 404 /projects/full/path/to/error.php
使用此选项,您将看到填充了以下两个值:

$_SERVER["REDIRECT_URL"]; // /mywebiste/xxx/xxx/xxx/xxx/
$_SERVER['REDIRECT_STATUS']; // 404

如果我没有。那就不能重定向了。谢谢。但是我得到的是
200
而不是
404
。。。有什么想法吗?当我使用
errordocument404
时,我得到了404。确保
/projects/full/path/to/error.php
没有被其他重写规则重写。这很奇怪,因为当我使用
ErrorDocument 404时,我在
$\u服务器['REDIRECT\u STATUS']
中得到404。我上面有个错误,让我们来看看。
$_SERVER["REDIRECT_URL"]; // /mywebiste/xxx/xxx/xxx/xxx/
$_SERVER['REDIRECT_STATUS']; // 404