您好,我正在尝试托管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的访问权限,这是不可能的情况下共享托管
。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中设置子路径
谢啦