子文件夹中的 Apache 应用程序

Apache application in subfolder

我将我的应用程序放在 Apache 的子文件夹 "subfolder" 中,这样我就可以使用 url 例如:https://myserver.com/subfolder/#/v2/login instead of https://myserver.com/#/v2/login

我正在使用以下目录配置:

Alias /subfolder /srv/apache2/htdocs/subfolder
<Directory /srv/apache2/htdocs/subfolder>
    Order allow,deny
    Allow from all
    Options All
    AllowOverride All
    Require all granted
</Directory>

问题是现在我有很多损坏的链接并且找不到显示错误的资源,例如:

https://myserver.com/app/v2/anotherfolder/anotherpage.html 
Failed to load resource: the server responded with a status of 404 (Not Found)

请注意,错误中的此类链接在路径中不包含 "subfolder"。

我错过了什么?

在您的站点根目录 .htaccess(即 htdocs/)中使用此规则:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!subfolder/).* subfolder/[=10=] [L,NC]

您可以尝试在 "subfolder" 目录中的 public 目录中的 .htaccess 文件中输入以下内容。我假设您已经完成了您必须在虚拟主机文件中完成的更改。

RewriteBase /subfolder (just below RewriteEngine On)