2013-04-11 52 views
10

我試圖設置一個網站的生活。該網站在我們用來向客戶端顯示該網站的實時開發服務器上工作得很好。下面是從現場開發htaccess的(正常工作):Laravel htaccess問題

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    #RewriteCond %{HTTPS} !=on 
    #RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    #RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

    # Rewrite to 'public' folder 
    RewriteCond %{HTTP_HOST} ^livedev.domain.com$ 
    RewriteCond %{REQUEST_URI} !public/ 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 
AuthType Basic 
AuthName "dev16" 
AuthUserFile "/home/site/.htpasswds/public_html/passwd" 
require valid-user 

下面是從實時網站的.htaccess:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 

    #RewriteCond %{HTTPS} !=on 
    #RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    #RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

    # Rewrite to 'public' folder 
    RewriteCond %{HTTP_HOST} ^livesite.co.uk$ 
    RewriteCond %{REQUEST_URI} !public/ 
    RewriteRule (.*) public/$1 [L] 
</IfModule> 

的2除了HTTP_HOST和去除的相同認證。

它給了我一個通用的「內部服務器錯誤」。

我已經嘗試刪除.htaccess的內容,它只是給我找不到頁面,所以問題肯定存在於.htaccess中。

總共.htaccess處女,我可以採取哪些步驟來找出問題的原因?

感謝

(這是Laravel 3.2.13)在同一水平

+1

'Options + FollowSymlinks'要求'AllowOverride'設置爲'Options'或更高權限。刪除該行然後告訴我們發生了什麼事。 – 2013-04-11 10:30:03

+0

當我刪除那條線我剛剛得到一個404 – Fraser 2013-04-11 10:38:08

+0

這更好。它比以前少了96!檢查Apache的錯誤日誌,看看哪個文件被映射。 – 2013-04-11 10:41:12

回答

7

使用/公共

這樣第一重定向到公共

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.domain.com$ 
RewriteCond %{REQUEST_URI} !public/ 
RewriteRule (.*) /public/$1 [L] 

和內部/大衆

那麼,你處理的index.php

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine On 
</IfModule> 


<IfModule mod_rewrite.c> 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 
+0

在index.php爲我工作之前添加一個斜線。 RewriteRule ^(。*)$ /index.php/$1 [L] – 2013-10-25 16:51:34

0

我有完全相同的設置爲RamiroRS answer,但仍然得到了內部服務器錯誤。我的問題是文件權限。文件夾應該是0755和文件0644.