10

サイトをライブに設定しようとしています。このサイトは、クライアントにサイトを表示するために使用しているライブ開発サーバーで完全に機能します。ライブ開発者からの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 です)

4

2 に答える 2

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]

そして /public の中

次に、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>
于 2013-04-20T04:48:41.020 に答える
0

RamiroRS answerとまったく同じ設定をしましたが、それでも Internal Server Error が発生しました。私の問題はファイルのアクセス許可にありました。フォルダは 0755、ファイルは 0644 である必要があります。

于 2014-07-28T00:29:43.153 に答える