Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
使用.htaccess将请求重定向到api.php_Php_.htaccess - Fatal编程技术网

使用.htaccess将请求重定向到api.php

使用.htaccess将请求重定向到api.php,php,.htaccess,Php,.htaccess,我已经在我的www/html文件夹中创建了一个文件夹api/。。我在里面放了一个.htaccess文件,看起来像这样 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule api/(.*)$ api/api.php?request=$1 [QSA,NC,L] </IfModule&g

我已经在我的www/html文件夹中创建了一个文件夹api/。。我在里面放了一个.htaccess文件,看起来像这样

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule api/(.*)$ api/api.php?request=$1 [QSA,NC,L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则api/(*)$api/api.php?请求=$1[QSA,NC,L]
在api/文件夹中,我有一个api.php文件,其中包含用于测试的代码

<?php

echo $_REQUEST['request'];

?>

如果我转到myserver/api/test,我会得到一个404未找到。。所以在这种情况下,我想它应该是回声测试


我还尝试将文件放在www/html文件中而不是api文件夹中,因为我在.htaccess文件中指定了api文件夹。

我必须在
apache2.conf
文件中设置
AllowOverride All

参考此答案:

确定您首先启用了mod_rewrite?删除ifmodule检查,查看是否有任何错误。仍然得到相同的404。。该文件应该在api/下还是在基本文件夹中?如果我试图直接转到myserver/api/api.php,我会得到一个500错误,然后检查相关日志文件以找出原因…我在那里的php文件中确实有一些失败的php。。我把它划出了条纹,正好是我上面贴的东西。。现在我可以转到myserver/api/api.php。。但我仍然无法通过myserver/api/test让它输出“test”。。我在基本文件夹中有.htaccess文件。。