2017-02-26 19 views
0

サブフォルダにlaravelをインストールしたとします:すべてのアプリケーションをhtmlルートの外側に置き、 "laravel"の "public"ディレクトリの名前を変更してhtmlルートの下に移動しました。
私は、ルートのhtmlフォルダ内の次の.htaccessを使用
をwww.mydomain.com/laravelに接続することで、アプリを見ることができます:今、私はwww.mydomainから直接自分のサイトにアクセスすることができますサブフォルダにlaravelインストールをリダイレクトしてサブフォルダを隠す

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ 
RewriteCond %{REQUEST_URI} !^/laravel/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /laravel/$1 

RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ 
RewriteRule ^(/)?$ laravel/ [L] 

。 com
しかし、私はまだwww.mydomain.com/laravelからアクセスできます...そして、すべてのリンクがベースURLから始まって生成されるので、メニューとすべてのアンカーhrefはwww.mydomain.com/を指していますlaravel ...ページの標準的なリンクでさえ、 "laravel"を含んでいます。
質問:

  1. これを避ける方法はありますか?
  2. 私はこれについて心配する必要がありますか?

ありがとうございました。

答えて

0

Apacheを使用している場合は、ホストを設定する必要があります。 http-vhosts.confまたはhttpd.confまたは類似のファイルです。

<VirtualHost > 
    ... 
    <Directory "path/to/your/root/html/laravel"> 

    </Directory> 
</VirtualHost> 

だから、すべてを行う必要があるhtmlディレクトリの中にあなたlaravelフォルダを直接指すようにディレクトリパスを変更しています。

あなたがそれを行う場合は、あなたが.htaccess

RewriteCond %{REQUEST_URI} !^/laravel/ 
... 
RewriteRule ^(/)?$ laravel/ [L] 

に追加した行を削除して、そこから直接ページを果たすことができるようにバックlaravelディレクトリに.htaccessファイルを配置します。

関連する問題