提问者:小点点

如何将bookstack(Laravel)应用程序的公用文件夹指向mydomain。com/bookstack


您好,我正在尝试托管bookstack应用程序,它基本上是一个共享主机上的大型应用程序,在从本地上传数据库转储并将所有文件上载到public_html/bookstack文件夹之后。

现在我可以访问以下网址的webapphttps://example.com/bookstack/public,但我希望在示例中托管该站点。com/bookstack,不希望url中出现“public”。

我有两个问题,

1)如何实现它使用. htaccess文件?

2) 里面。env文件有一个选项

# Application URL
# Remove the hash below and set a URL if using BookStack behind
# a proxy, if using a third-party authentication option.
# This must be the root URL that you want to host BookStack on.
# All URL's in BookStack will be generated using this value.

#APP_URL=https://example.com

所以,如果在这里我把APP_URLhttps://example.com/bookstack,并删除评论,它的第一个给出“403禁止-你没有权限访问此资源”错误,如果我访问https://example.com/bookstack/public它工作正常。

更新:所以我发现这个子目录设置页面在bookstack留档,但它只描述了如何设置,如果我有apache的访问权限,这是不可能的情况下共享托管


共2个答案

匿名用户

  1. 移动。htaccess/public中的文件访问到root

匿名用户

你可以这样做

<VirtualHost *:80>

...

# BookStack Configuration
Alias "/bookstack" "/var/www/bookstack/public"

<Directory "/var/www/bookstack/public">
  Options FollowSymlinks
  AllowOverride None
  Require all granted

  RewriteEngine On
  # Redirect Trailing Slashes If Not A Folder...
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)/$ /$1 [L,R=301]

  # Handle Front Controller...
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [L]
</Directory>


<Directory "/var/www/bookstack">
  AllowOverride None
  Require all denied
</Directory>
# End BookStack Configuration

...

有关更多详细信息,请参见此参考资料。

在BookStack中设置子路径

谢啦