当 phpMyAdmin 尝试访问 URL 时https://example.com/phpmyadmin/server_variables.php&filter=long_query_time,Apache 抛出 404 错误。
可能存在什么问题?
The requested URL /phpmyadmin/server_variables.php&filter=long_query_time was not found on this server.
Apache/2.4.27 (Ubuntu) Server at example.com Port 443
当我改为 时&
,?
一切都运行正常。我的 phpmyadmin.conf 如下所示:
Alias /phpmyadmin "/usr/share/phpmyadmin"
<Directory "/usr/share/phpmyadmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
.htaccess/usr/share/phpmyadmin
如下所示:
AuthType Basic
AuthName "Restricted access!"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user
phpMyAdmin版本为:4.7.3
答案1
这是完全正常的,因为 URL 具有这些组件以及这些分隔符:
scheme://host:port/path?query
这意味着以下 URL 完全不同:
https://example.com/phpmyadmin/server_variables.php?filter=long_query_time
这
phpmyadmin/server_variables.php
是小路和filter=long_query_time
询问.Apache 可以找到server_variables.php
并传递这个方法查询的变量GET
给 PHP。https://example.com/phpmyadmin/server_variables.php&filter=long_query_time
这一个只有小路,
phpmyadmin/server_variables.php&filter=long_query_time
。因为没有这样的文件,所以 Apache 显示错误404
,正如它应该显示的那样。
相反,它&
用作查询内变量之间的分隔符,例如?foo=123&bar=456
。