2016-05-16 13 views
2

Laravelプロジェクトをドメインのサブフォルダに展開する必要があります。私はすでに正しい場所にファイルを持っています。すなわち、public_htmlフォルダと同じレベルのプロジェクトフォルダです。私はpublic_htmlにパブリックフォルダの内容をコピーしました(実際にはsymlinkを作成しました)。Laravel rerouteサブフォルダ.htaccess

私は一つだけ問題があります:

私はmy-domain.com/proj-nameに行けば、私は問題なくホームページを見ることができます。
しかし、私は(例えば)プロジェクトのページmy-domain.com/proj-name/aboutに行くとき、私は解決策は、私がmy-domain.com/proj-name/aboutを参照するとき、それがあるかのようにproj-nameを削除するように.htaccessでのRewriteRuleを編集することだと思います404 Not Found: The requested URL /proj-name/about was not found on this server.

を取得それはmy-domain.com/aboutにアクセスしようとしていました。

どうすればいいですか?

RewriteCond %{REQUEST_URI} !^/proj-name/ 
RewriteRule ^(.*)$ proj-name/$1 [L] 

注:上記public_htmlとない時に位置.htaccessに行く必要がありますあなたは次のことを行う必要があります

<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> 

答えて

-1

:ここ

は私の現在のの.htaccessですpublic_html/proj_name

+1

私は '.htaccess'を作成しました。 'public_html'でも、まだ動作していません。 'public_html'の中には、この2行の' .htaccess'のほかに、 'proj_name'というシンボリックリンクがあり、Laravelプロジェクトの' public'フォルダにつながっています。 –

+0

シンボリックリンクが正しいです。 'public 'の' .htaccess'を元の状態に変更しましたか? – user2094178

+0

'public'フォルダ内の' .htaccess'は私の質問(Laravel 5.2プロジェクトの作成時に生成されたもの)に投稿したものです。 –

関連する問題