Laravel 在 1and1 服务器上

Laravel on 1and1 server

我有一个 1&1 WebServer unlimited,我正在尝试通过 FTP 将我的新 Laravel(最新版本)项目放入此服务器的子文件夹(称为 v2)中.

像这样访问我的网站时:www.mywebsite.com/v2/ 我得到以下信息:

Error 403 - Forbidden

L'accès au fichier requiert une autorisation. (this is french, it means we are not authorized to access the file)

我已经尝试将 v2 和所有子文件夹的文件权限更改为 777,但没有任何改变。

我怀疑默认 Laravel .htaccess 是 1&1 服务器上的问题。

这里是:

<IfModule mod_rewrite.c>
   <IfModule mod_negotiation.c>
       Options -MultiViews
   </IfModule>

   RewriteEngine On

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

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

   # Handle Authorization Header
   RewriteCond %{HTTP:Authorization} .
   RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

有没有人已经遇到这个问题并设法解决了它?

您应该创建虚拟主机并将其指向 /v2/public 文件夹。例如:

<VirtualHost *:80>
  ServerName v2.mywebsite.com
  DocumentRoot "/home/path_to_your_v2_folder/public"
  <Directory "/home/path_to_your_v2_folder/public">
    AllowOverride all
  </Directory>
</VirtualHost>

重新启动 Apache 后,您将能够在 v2.mywebsite.com

上使用 Laravel

更新:

也许你有某种控制面板软件?或者 1&1 支持会为您添加虚拟主机?

此外,还有一点丑陋但可行的解决方案。例如,如果您有权访问 userhome(仅作为示例)目录,其中您的网站有 public_htmlwww 或其他文件夹。因此,只需将您的 Laravel 项目安装在该 userhome 目录中并创建 symbolic link 从 Laravel 的 public 目录指向 public_html/v2/www/v2。如果您可以通过 SFTP 或 SSH 协议访问服务器,则可以这样做。如果您只有 FTP(这在我们这个时代很奇怪),您将无法创建符号链接。