2016-12-31 18 views
2

私の共有ホスト "public_htmlのルートにlaravelアプリケーションをインストールすると、このアプリケーションのロシア語版をru/subfolderにインストールしたいのですが、example.com/ruに行くと404ページが見つかりませんでした。サーバーのルートフォルダ内の私の.htaccessファイルは、私は、この設定を変更する必要がありますどのようにこれらのコード共有ホストのサブフォルダにlaravel appをインストールするには?

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(.*)$ public/$1 [L] 
</IfModule> 

が含まれている?

感謝。

あなたは、ルートディレクトリにインストールしたのと同じ方法でそれを行います
+0

ディレクトリ構造は何ですか? 'ru /'ディレクトリ内のlaravelアプリケーション全体? – sepehr

+0

私はルートフォルダにlaravelアプリケーションを、サブフォルダ/ ruに別のlaravelアプリケーションを持っています – user3725280

+0

これは私のホストにあるディレクトリ構造の画像ですhttps://i.stack.imgur.com/BcC2B.png – user3725280

答えて

2

私は共有ホスティングアカウントにメインとサブドメイン。 私はサブフォルダにすべての私のプロジェクトをアップロードして、あなたの次の操作を行い、example.com/ruになります後:パブリックフォルダで

  1. あなた.htaccessファイルがあります。基本的にはこれをサブドメインにしているので、そのサブドメインのルートにある必要がありますので、.htaccessをパブリックフォルダからruフォルダのルートに転送してください。
  2. オープン.htaccess、変更/次の行を追加します。

    のDirectoryIndex公共/ index.phpを

及びこれにRewriteRule変更にそれを:

public/index.php 

そして、ちょうどへあなたの変更後の最後に.htaccessのようにする必要があります:

DirectoryIndex public/index.php 
<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^public/index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

これはうまくいくはずです。

+0

私は.htaccess設定をif urlは/ ruフォルダで始まります。そうでなければパブリックフォルダに移動します – user3725280

+0

メインサイトの場合、別の '.htaccess'が必要です。これは基本的にあなたのケースの「新しいウェブサイト」またはサブドメインです。私が上に書いたことを試してください、あなたはそれがうまく動作するのを見るでしょう。 – GabMic

+0

私はpublic_htmlにa.htaccessを、/ publicに1つの.htaccessを持っています。また、/ ruには.htaccess、/ ru/publicには.htaccessが1つあります。 1つは変更する必要がありますか? – user3725280

関連する問題