使用 droplet,Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-209-generic x86_64)
并且apache2
:Server version: Apache/2.4.29 (Ubuntu) Server built: 2023-03-08T17:34:33
。
我有myservice.com
工作,如何添加myservice.com/app
?
我在var/www/html/
主页上看到了。我创建了目录/var/www/html/app
并将文件放在那里,但它没有打开,Not Found
发生错误(端口 443)。
如何判断apache2
有一个子页面./app
?
我已将配置文件编辑sites-available
如下:
<VirtualHost xxx.xx.xxx.xxx:80>
ServerAdmin root@localhost
ServerName myservice.com
ServerAlias www.myservice.com
DocumentRoot /var/www/html/dist
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =myservice.com [OR]
RewriteCond %{SERVER_NAME} =www.myservice.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost xxx.xx.xxx.xxx:80>
ServerName myservice.com/app
DocumentRoot /var/www/html/app/dist
RewriteEngine on
RewriteCond %{SERVER_NAME} =myservice.com/app [OR]
RewriteCond %{SERVER_NAME} =www.myservice.com/app
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
我也跑過sudo chmod -R 755 /var/www/myservice.com/app
。
这是apache2.conf
目录部分:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride ALL
Require all granted
</Directory>
我在网上找到了 2005 年针对此问题的解决方案,但它们不起作用;几年后,我又找到了相同的解决方案,例如从 2017 年开始,它们仍然不起作用……
请告诉我可以提供哪些信息来帮助解决该问题。
答案1
我在 var/www/html/ 中有主页。
不,您不需要。您的 DocumentRoot 设置为,这意味着URL 应该位于。/var/www/html/dist
/app
/var/www/html/dist/app
(但如果您特意想要使用一个完全独立的目录 - 即如果您希望“子页面”位于 DocumentRoot 之外 - 那么Alias
可以用来定义备用位置。)