phpMyAdmin 和 Apache - 查询字符串 - 404 错误

phpMyAdmin 和 Apache - 查询字符串 - 404 错误

当 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

答案2

相关内容