2016-09-26 38 views
1

我第一次上傳我的網站到ipage主機。 沒有public_html文件夾,根目錄實際上是公開的,所以我上傳了我的所有網站文件夾,並給予公開文件的開放查看權限。 現在我的主頁正在工作,其餘的都沒有,我認爲這與現在與當地時間不同的文件的位置有關,因爲ipage目錄的結構。我收到的錯誤是'找不到頁面'。上傳了一個PHP的網站到網上,只有索引頁工作

這是從我的route.php文件的一個示例:

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

(主頁作品,店內沒有)。

控制器例如:

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文件看起來像這樣

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

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

你的控制器

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

從這個第一件事就在我的腦海:你不能重定向所有請求到index.php

檢查的.htaccess文件mod_rewrite的擴展,如果你是U唱歌apache,如果你使用nginx檢查站點配置。它必須正確地將所有請求重定向到index.php,否則您的請求將無法工作,而不是索引。從新鮮laravel 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}] 

.htaccess文件爲nginx的你應該像這樣在您的網站配置文件:

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的配置可以是不同的。閱讀手冊並正確配置它們。