[英]Uploaded a s PHP site to the web, only index page works
我第一次上傳我的網站到ipage主機。 沒有public_html文件夾,根目錄實際上是公共的,因此我將所有網站文件夾上傳到它,並僅向我的公共文件提供開放查看權限。 現在我的主頁正在工作,其余部分沒有,我認為它與文件的位置有關,現在與本地不同,因為ipage目錄的結構。 我得到的錯誤是“找不到頁面”。
這是我的route.php文件中的一個示例:
Route::get('/', 'PagesController@index');
Route::get('store', 'StoreController@index');
(主頁工作,商店沒有)。
控制器示例:
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結構保持不變並且位於主項目目錄中,除了不再位於公共文件夾中的公共文件之外,它們直接位於主目錄中。
有沒有人有解決方案的想法? 謝謝!
像這樣設置路由,所以你的route.php文件看起來像這樣
Route::controllers([
'store' => 'StoreController'
]);
Route::get('/', 'HomeController@index');
你的控制器
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);
}
}
從第一件事就出現在我腦海中:你沒有將所有請求重定向到index.php
如果您使用的是apgin ,請檢查.htaccess文件和mod_rewrite擴展名,如果您使用的是nginx檢查站點配置。 它必須正確地將所有請求重定向到index.php,否則您的請求除索引之外不會工作。
來自新鮮laravel 5.3的.htaccess文件
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}]
對於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配置可以是不同的。 閱讀手冊並正確配置它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.