私たちのウェブサイトは現在のWebホストからAWSに移行しています。ウェブサイトは第三者の開発者に委託され、私に引き渡されました。コードをチェックすると、コードイグナイターで実行されたことがわかりました。私のAWS Webホストでコードイグナイターのルートを動作させるにはどうすればいいですか
私は、現在のWebホストとの並列運転のためにAWSでインスタンスにウェブサイトをアップロードしました:現在のホストで
- ウェブサイトはURLにアクセスされたwww.oursite.com
- AWSインスタンスは、url ec2-our-instance.compute.amazonaws.comにアクセスします。
私はAWSデータベース接続が機能していることを確認しました。 1つの設定ファイルで、ベースURLを調整しました。
function baseUrl(){
//$base ='http://www.oursite.com/';
$base = 'http://ec2-our-instance.compute.amazonaws.com/';
return $base;
}
baseURL()を呼び出すと、AWSインスタンスのURLが返されます。
今私の問題は、URLのファイル名、機能、パラメータをルーティングすることで、Webサイトがファイルsite_info.phpの関数を呼び出してしまうことです。
関数ファイルのディレクトリが以下の通りである:site_info.phpで
\site\application\controllers\site_info.php
一つの機能は次のとおりです。
function showWorld(){
echo 'Hello World';
}
showWorld(へのcURLの呼び出し)のルートに設定されたURLを持っていますつまり、baseURL()。 '/ site/site_info/showWorld'のようになります。コードは以下の通りである:
function showSomething(){
$url = baseURL().'/site/site_info/showWorld';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,120);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 200);
curl_setopt($ch, CURLOPT_USERAGENT ,
curl_setopt($ch, CURLOPT_URL, $url);
}
showSomething();
コールは、すなわちwww.oursite.com現在ホストされているウェブサイト上のコンテンツをエコー表示()showSomethingを機能させます。ブラウザ上でURL、www.oursite.com/site/site_info/showWorldを実行してエコーコンテンツを取得することもできます。
AWSでホストされているサイトから「このサーバーで要求されたURL/site/site_info/showWorldが見つかりませんでした」というエラーが返されます。
これを修正するにはどうすればよいですか?
私はCIエキスパートではありませんが、あなたの 'baseURL()'は何も返しません。相対URLではなく絶対URLを返すようにしてください。 – Justinas
baseUrl()はどこで定義しますか? showsomething()と同じコントローラにありますか? – Pacio