问题:
尝试访问该网站时返回错误:403。据我所知日志文件中没有提供任何信息。
版本
Windows 10: Version 2004 (OS Build 19041.388)
WSL: Version 2
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2020-04-13T17:19:17
权限
drwxrwxr-x 3 www-data www-data 4096 Jul 22 12:36 /var/www/
lrwxrwxrwx 1 www-data www-data 27 Jul 22 12:36 /var/www/website -> /mnt/d/work/website/
drwxrwxrwx 1 www-data www-data 4096 Jul 22 11:00 /mnt/d/work/website/
Apache2ctl -S
VirtualHost configuration:
*:80 website.localhost (/etc/apache2/sites-enabled/website.conf:1)
*:443 website.localhost (/etc/apache2/sites-enabled/website.conf:10)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
虚拟主机配置
<VirtualHost _default_:80>
ServerName www.website.local
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
DocumentRoot /mnt/d/work/website/public
<Directory /mnt/d/work/website/public>
RewriteEngine On
RewriteRule ^public\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . public.html [L]
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
Hosts 文件
127.0.0.1 www.website.local
日志
access.log
或error.log
???中没有条目
答案1
更新 24-02-2021
wsl-linux 的 ip 地址是动态 ip 则不行。你只需要添加两行代码
127.0.0.1 www.website.local
::1 www.website.local
我也遇到同样的问题,解决此问题的步骤非常简单。
复制 IP 地址 2. 按窗口按钮输入记事本(以管理员身份运行) 3. 在记事本中,文件->打开文件 C:\Windows\System32\drivers\etc\host 4. 在底部添加行
172.19.170.24 www.website.local
我尝试使用 127.0.0.1 <my_vhost> 和 172.19.170.24 <my_vhost> 来更改 /etc/hosts 文件,但没有效果。
答案2
我遇到了同样的问题。这是网络错误。
运行该ip addr
命令并找出您的eth0
IP 地址,并将其用于您的
hosts
文件。
这对我来说是有效的,因为就像您的 Apache 配置一样,我的配置也是正确的。