2016-09-26 2 views
1

初めて私のサイトをipageホスティングにアップロードしました。 public_htmlフォルダはなく、ルートディレクトリは実際には公開されているので、自分のウェブサイトフォルダをすべてアップロードして公開ファイルにのみ閲覧許可を与えました。 私のホームページは動作していますが、残りの部分はありません。ipageディレクトリの構造のために、ローカルのときとは異なるファイルの場所と関係があると思います。私が得るエラーは 'ページが見つかりません'です。 (店にはない、ホーム・ページの作品)アップロードされたウェブサイトにPHPサイトがあり、インデックスページのみが動作します

Route::get('/', '[email protected]'); 
Route::get('store', '[email protected]'); 

は、これは私のroute.phpファイルの例です。

コントローラ例:

class PagesController extends MainController 
{ 
public function index() 
{ 
    self::$data['title'] = 'Ayala & Tamar | Home Page'; 
    return view('content.home', self::$data);  
} 


class StoreController extends MainController 
{ 
//Getting dynamic categories 
public function index() 
{ 
self::$data['title'] = 'Ayala & Tamar | Store'; 
self::$data['categories'] = Category::all()->toArray(); 
return view('content.categories', self::$data); 
} 

すべての私LaravelとPHPの構造が同じに滞在し、パブリックフォルダでなくなった公共ファイル以外、メインプロジェクトディレクトリにある、彼らは直接ありますメインディレクトリ。

ソリューションのアイデアをお持ちの人はいますか? ありがとう!このような

+0

データベース接続パラメータを変更しましたか? – JoelBonetR

+0

はい、データベース名、ユーザー名、パスワードを – user3185970

+0

に変更し、新しいデータベースをインポートしてサーバー上に適切なPHPバージョンとパラメータを設定しましたか? – JoelBonetR

答えて

3

設定経路は、ので、あなたのroute.phpファイルには、この最初から

class StoreController extends Controller 
{ 
    public function getIndex(Request $request) 
    { 
    self::$data['title'] = 'Ayala & Tamar | Store'; 
    self::$data['categories'] = Category::all()->toArray(); 
    return view('content.categories', self::$data); 
    } 
} 
+0

ありがとうございました 違いを説明できますか? – user3185970

+0

このように 'store' => 'StoreController'という経路を定義すると、簡単にURLを呼び出すことができます。例えば、ストア/追加、ストア/アップデートを含む。そうでない場合は、 "Route :: get( '/ store/add'、 'StoreController @ getAdd');またはRoute :: post( '/ store/add'、 'StoreController @ postAdd'); – Komal

+0

@ user3185970お役に立ちましたら回答を受け入れてください – Komal

0

は私の心に来たこの

Route::controllers([ 
    'store' => 'StoreController' 
]); 

Route::get('/', '[email protected]'); 

お使いのコントローラのように見える:あなたはすべての要求をリダイレクトしません。あなたがUであれば

チェックの.htaccessファイルmod_rewriteの拡張子をindex.phpにあなたがnginxチェックサイトの設定を使用している場合のapacheを歌います。すべてのリクエストをindex.phpにリダイレクトする必要があります。そうでなければ、index以外のリクエストは動作しません。 nginxのための

新鮮laravelから.htaccessファイル5.3

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

あなたのサイトの設定ファイル内でこのような何か必要があります。もちろん

try_files $uri $uri/ /index.php?$query_string; 

location ~ \.php$ { 
     try_files $uri /index.php =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
    } 

nginxの構成が異なる場合があります。マニュアルを読み、正しく設定してください。

関連する問題