我刚刚在我的 CentOS 7 发行版上安装了 Nextcloud 服务器。我希望从“cloud.mycompany.com”重定向到“cloud.mycompany.com/nextcloud”。另外,如果您能告诉我如何使用 apache 创建漂亮的 URL,这样用户就不会看到完整的 URL,而只会看到基本内容,或者至少从 URL 中排除 nextcloud 标签。
这是我当前的配置文件:
Alias /nextcloud "/var/www/html/com.mycompany.cloud/"
<Directory /var/www/html/com.mycompany.cloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html/com.mycompany.cloud
SetEnv HTTP_HOME /var/www/html/com.mycompany.cloud
</Directory>
从我的问题中您可以看出:我对 Apache2 完全陌生,所以如果问题太简单,请原谅。
答案1
我想要的是从“cloud.mycompany.com”重定向到“cloud.mycompany.com/nextcloud”。
这可能是一个坏主意,因为设置无限重定向循环非常容易。您应该简单地将 NextCloud 文件夹(您现在在 Alias 下的内容)设置为 Apache 虚拟主机 (cloud.mycompany.com) 的默认目录。
另外,如果您能告诉我如何使用 apache 制作漂亮的 URL,这样用户就不会看到完整的 URL,而只会看到基本内容,或者至少从 URL 中排除 nextcloud 标签。
如果您按照说明设置了虚拟主机,则无需在 URL 中隐藏 /nextcloud。关于制作“漂亮”的 URL,您可能需要查看这个问题看看什么可能,什么不可能。
答案2
正如 @Anaksunaman 指出的那样,nextcloud
可以使用 VirtualHost 从 URL 中删除:
<VirtualHost *:80>
ServerName com.mycompany.cloud
DocumentRoot /var/www/html/com.mycompany.cloud/
<Directory /var/www/html/com.mycompany.cloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html/com.mycompany.cloud
SetEnv HTTP_HOME /var/www/html/com.mycompany.cloud
</Directory>
</VirtualHost>
Nextcloud 内置支持index.php
从 URL 中删除字符串。这可以通过添加'htaccess.RewriteBase' => '/',
到 Nextcloudconfig/config.php
文件来完成。接下来在 Nextcloud 目录中运行php occ maintenance:update:htaccess
。此命令必须使用 Apache Web 服务器执行。在 Debian/Ubuntu 上使用sudo -u www-data php occ..
,在 Centos 上使用sudo -u apache php occ...