NextCloud 的 HTTPD 漂亮 URL

NextCloud 的 HTTPD 漂亮 URL

我刚刚在我的 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...

相关内容