web-dev-qa-db-ja.com

リクエストされたURLはこのサーバーで見つかりませんでした

サーバーでcodeigniterのWebサイトをホストしているときに、最初のページが正常に表示され、他のリンクで次のようなエラーが表示されます。

見つかりません

リクエストされたURL/site/ourservicesはこのサーバーで見つかりませんでした。

さらに、ErrorDocumentを使用してリクエストを処理しようとしたときに、404 Not Foundエラーが発生しました。

これをどのように整理するのですか?私は初心者です。

2
Rashid

これらの行を。htaccessに追加します:(-- codeigniter urls docs に基づく)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
5

私はあなたを助けます..数日前にこの問題に直面しました.. .htaccessファイルに以下のコードを含めてみてください。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
ErrorDocument 404 index.php
1
Masud_ma

_Site.php_フォルダーに_/application/controllers_コントローラーがありますか?

または、既存のコントローラー/機能を指すルートがありますか?

次の2つの方法のいずれかに従います。

  1. コントローラを作成します。名前は_/application/controller/Site.php_です。 _Welcome.php_コントローラをコピーして、ファイルをすばやく作成できます。次に、クラスの名前をSiteではなくWelcomeに変更します。次に、そこに関数を追加し、public function ourservices()という名前を付けます

-または-

  1. _/application/config/routes.php_ファイルに移動し、そこに「site/ourservices」をチェックするルートを追加し、既存のコントローラーの関数を指すようにします。つまり、_$route['site/ourservices'] = 'Welcome/ourservices';_コントローラにpublic function ourservices()という関数がある限り、_/application/controllers/Welcome.php_になります。

コントローラーで新しく作成された関数で、適切なビュー$this->load->view('location/of/view/file')を呼び出します。これにより、既存のファイルをロードしようとします_/application/views/location/of/view/file.php_。このファイルが存在することを確認してください。

0
Webmaster G

.htaccess(プロジェクトのルートディレクトリ)に次の行を追加します。

RewriteEngine On
RewriteBase /yoursite

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
0
Cláudio Neto