localhost/phpmyadmin 出现 404 错误,http://本地主机在 thr url 中没有显示任何文件列表。
我在每个 conf 文件中都更改了 ServerName。实际上这是最近才发生的。我正准备在本地机器上安装 laravel(一个基于 php 的框架)。据说要更改 apache2 配置中的虚拟主机,所以我就这么做了。但现在这造成了问题。
请帮帮我。我的情况很糟糕。
答案1
您需要配置 apache2.conf 才能使 phpMyAdmin 正常工作。
sudo nano /etc/apache2/apache2.conf
然后将以下行添加到文件末尾。
Include /etc/phpmyadmin/apache.conf
然后重启apache
/etc/init.d/apache2 restart
答案2
如果 localhost/phpmyadmin 出现错误 404,也许您可以检查符号链接。
sudo ln -s /usr/share/phpmyadmin /var/www
sudo a2enconf phpmyadmin
sudo service apache2 reload
请检查当您在浏览器上输入 localhost 时的输出,输出是 apache 主页。
答案3
404 或未找到错误消息表示客户端能够与给定的服务器通信,但服务器找不到所请求的内容。
当用户尝试访问损坏或无效的链接时,网站托管服务器通常会生成“404 Not Found”网页,例如当请求的文件(页面)不在该 URL 上时,这很可能意味着您的 phpmyadmin 不位于或符号链接到http://localhost/phpmyadmin。
我以前亲身遇到过这种情况,我的解决方案实际上非常简单;
将 phpmyadmin 复制/移动到 /var/www 或存储 Web 文件的任何位置:
cp -R '/usr/share/phpmyadmin' '/var/www/'
然后在您的 apache.conf 文件中创建一个新的 VirtualHost,或者像我一样为每个 VirtualHost 创建一个 .conf。请记住,您必须确保没有冲突的 VirtualHost,一个简单的直接 VirtualHost phpmyadmin.conf 文件;
<VirtualHost *:80>
ServerName phpmyadmin.local
ServerAdmin [email protected]
DocumentRoot /var/www/phpmyadmin
<Directory var/www/phpmyadmin>
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
别忘了去做;
sudo service apache2 restart
然后,您可以在组织中进一步了解您的设置,您可能会注意到我的 ServerName 是 phpmyadmin.local,这是最简单的操作,它被称为本地子域。要实现这一点,您需要执行以下操作(当然,选择您最喜欢的文本编辑器);
sudo gedit /etc/hosts
这是我的 hosts 文件,里面全是本地子域名;
127.0.0.1 localhost
127.0.1.1 jack-mint
127.0.0.1 filmod.tk.local
127.0.0.1 filmod.uk.to.local
127.0.0.1 facebook-phishing.local
127.0.0.1 phishing
127.0.0.1 new.uksss.home
127.0.0.1 theystolemybaby.uk.local
127.0.0.1 theystolemybaby.uk.to
127.0.0.1 theystolemybaby.uk
127.0.0.1 theystolemybaby.uk.undo.it.local
127.0.0.1 theystolemymail.local
127.0.0.1 phpmyadmin.local
127.0.0.1 owa.local
127.0.0.1 itools.uk.to.local
127.0.0.1 facebook-phishing.local
127.0.0.1 lite.ml.local
127.0.0.1 rsync.local
127.0.0.1 babysnatchers.local
127.0.0.1 soon.local
10.0.0.5 sams.eth.local <- this is another machine on my network
10.0.0.6 kali.wlan.local <- as is this
127.0.0.1 hiawatha.monitor.local
127.0.0.1 hiawatha.local
127.0.0.1 w3schools.local
127.0.0.1 banshee.local
127.0.0.1 italk.local
127.0.0.1 wp-filmod.local
127.0.0.1 wordpress.local
127.0.0.1 wordpress4.3.local
127.0.0.1 films.local
127.0.0.1 movie-db
127.0.0.1 example-code.local
127.0.0.1 pythonscraping.local
# temp
#10.42.0.1 italk.local <- this is also another machine on my network
192.168.43.93 wp-filmod.local <- as is this
您几乎可以使用任何您想要的地址,但我认为使用“subdomain.domain”是一种很好的做法。您可以使用整个网络的 IP 地址,本质上就是您在 hosts 文件中输入的 IP 地址,当您在本地浏览器中输入该 IP 地址时,您的系统将首先查看您的 hosts 文件,如果该 URL 不在其中,您将被转发到外部 DNS。基本上,这是一个非常有效的本地 DNS 服务。
然后在我的浏览器中使用 URLhttp://phpmyadmin.local或者只是 phpmyadmin.local