2016-02-29 60 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/ –

相關問題