Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Apache 重写返回“的规则”;“过度重定向”;错误_Apache_.htaccess - Fatal编程技术网

Apache 重写返回“的规则”;“过度重定向”;错误

Apache 重写返回“的规则”;“过度重定向”;错误,apache,.htaccess,Apache,.htaccess,我在.htaccess中键入了以下代码: RewriteEngine on RewriteBase /amit/ RewriteCond ${REQUEST_FILENAME} !-f RewriteCond ${REQUEST_FILENAME} !-d RewriteRule (.+) public/$1.php [NC,L] 本质上,它应该做的是将任何请求从/amit/重定向到public/$request.php。它总是在我的apache日志文件中返回太多的重定向错误,而我似乎无法找

我在
.htaccess
中键入了以下代码:

RewriteEngine on

RewriteBase /amit/
RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteRule (.+) public/$1.php [NC,L]
本质上,它应该做的是将任何请求从
/amit/
重定向到
public/$request.php
。它总是在我的apache日志文件中返回太多的重定向错误,而我似乎无法找出问题所在

我是apache的新手,所以请礼貌一点。如果你能解释一下答案,我会很高兴的

编辑2: 更多信息:在
localhost
根目录中,我有一个
.htaccess
将所有请求重定向到
/amit/

RewriteEngine on

RewriteBase /
RewriteRule (.*) amit/$1 [NC,L]
在目录
/amit/
中,我有另一个
.htaccess
将请求重定向到admin/public:

RewriteEngine on

RewriteBase /amit/

RewriteRule ^(admin/|admin)$ admin/index.php [NC,L]

RewriteRule ^(admin_login/|admin_login)$ public/admin_login/index.php [NC,L]

RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteRule (.*) public/$1 [NC,L]
最后,在
/amit/public/
目录中,我有另一个目录来处理目录中的请求:

RewriteEngine on

RewriteBase /amit/public/

RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond ${REQUEST_FILENAME} !-d
RewriteRule (.*) $1.php [NC,L]

问题很简单,但一开始似乎并不那么明显

对于
RewriteCond
,我使用了
$
,而我应该使用
%


正是这些敏锐的细节有时会抓住最糟糕的程序员……

你的规则看起来还不错。您的htaccess文件中是否有任何其他规则或指令?
public/
是否在
/amit/
内的子目录?是的,
public/
是否在
amit/
内。并且
amit
位于
localhost
目录中。正在运行MAMP。。。如果有帮助的话。我也试着去掉所有的线条,只留下最后一条,同样的一条不起作用。但它不起作用。我尝试在父目录中执行相同的操作,即
htdocs
将所有请求重定向到
/amit/
,结果成功了。。。很奇怪,可能是复制品