2016-02-29 56 views
1

我有一个1 & 1 WebServer无限制,我试图通过FTP将此新服务器的子文件夹(称为v2)放入我的新Laravel(最新版​​本)项目。在1and1服务器上的Laravel

当访问我的网站,这样的:www.mywebsite.com/v2/我收到以下内容:

错误403 - 禁止

L'ACCES AU fichier requiert UNE autorisation。 (这是法国人,这意味着我们没有被授权访问该文件)

我试图改变上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 ^(.*)/$ /$1 [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> 

有谁已经得到了这个问题,并设法固定它?

回答

2

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

<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后,您就可以使用Laravel上v2.mywebsite.com

更新:

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

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

+0

不幸的是,我没有访问服务器配置,它是一个可以使用web服务器 –

+0

感谢您的帮助阿列克谢。 我设法得到它的工作通过改变 重写规则^的index.php [L] 到 重写规则^ /v2/public/index.php [L] 在我的.htaccess文件(即公共文件夹中) 但问题是要访问我的网站它需要做: www.mywebsite.com/v2/public/ 而不是: www.mywebsite.com/v2/ –

相关问题