Laravel htaccess问题

Fra*_*ser 10 apache .htaccess mod-rewrite laravel

我正在尝试设置一个网站.该网站在我们用于向客户端显示网站的实时开发服务器上运行良好.这是来自live dev的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
Run Code Online (Sandbox Code Playgroud)

这是现场网站上的.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>
Run Code Online (Sandbox Code Playgroud)

除了HTTP_HOST和删除身份验证之外,2是相同的.

它给了我一个通用的"内部服务器错误".

我试过删除.htaccess的内容,它只是给我找不到页面,所以问题肯定在于.htaccess.

总共.htaccess处女,我可以采取哪些步骤来找出问题的原因?

谢谢

(这是Laravel 3.2.13)

小智 7

在/ public的同一级别使用

这种方式首先重定向到公共

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

内部/公共

然后,你处理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>
Run Code Online (Sandbox Code Playgroud)