Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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重写规则已正确处理_.htaccess_Apache2 - Fatal编程技术网

.htaccess重写规则已正确处理

.htaccess重写规则已正确处理,.htaccess,apache2,.htaccess,Apache2,我想将rewrite/zp core/admin.php重定向到admin,但不知何故我无法让它工作 我已将此规则添加到我的htaccess中: RewriteEngine On RewriteBase / RewriteRule ^/admin$ /zp-core/admin.php [L] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^albums/?(.+/?)?$ $1 [R=301,L] ... # Catch-all - ev

我想将rewrite
/zp core/admin.php
重定向到
admin
,但不知何故我无法让它工作

我已将此规则添加到我的htaccess中:

RewriteEngine On

RewriteBase /

RewriteRule ^/admin$ /zp-core/admin.php [L]

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^albums/?(.+/?)?$ $1 [R=301,L] 
...
# Catch-all - everything else gets handled in PHP for compatibility.
RewriteRule ^(.*)/?$                        index.php?album=$1 [L,QSA]
第三条规则应该这样做,但不知何故它没有。最后,当你说“重写AB”时,它又回到了“一网打尽”规则,通常,“A”是用户键入的内容,“B”是您希望他得到的内容

如果A='
/admin
'和B='
/zp core/admin.php
'则第一条规则是确定的,如果删除其他规则,它将工作

问题是-apache在每个请求(包括子请求)上检查.htaccess,而您的重定向执行子请求。。。因此,它不再与第一条规则匹配,但随后出现了“一网打尽”规则,它再次匹配(您将看到,
$\u GET[“album”]
在此类请求中点击index.php时将
/zp core/admin.php

您需要做的是添加
RewriteCond
,或者检查uri是否不是
/zp core/admin.php
,或者您是否不在子请求中

要么:

RewriteCond %{REQUEST_URI} !^/zp-core/admin.php$
或:

RewriteCond %{IS_SUBREQ} !=true