1

これは最も繰り返される質問の 1 つですが、私はそれを理解できず、尋ねなければなりませんでした。CI 2 を使用しています。次の手順で URL から index.php を削除しました。

  1. config.php私が設定した

$config['index_page'] = '';

$config['uri_protocol'] = 'REQUEST_URI';
  1. routes.php私が設定した

$route['default_controller'] = "InterviewController";
  1. ここに私の.htaccessがあります

RewriteEngine on
RewriteCond $1 !^(index\.php|img|robots\.txt|css|js|libraries/ckeditor|upload)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
addDefaultCharset UTF-8
  1. mod_rewriteWeb サーバーで有効にしました。

index()メソッドでInterviewController、ビューをロードしaddInterview.phpます。その後addInterview、ドメイン名だけを入力すると、サイトのデフォルト ページとして呼び出されます。からaddInterview呼び出す必要があるページで[保存] ボタンを押すと、問題が発生します。しかし、このステップでは. さえ呼ばれていません。しかし、私自身が domainname/index.php/InterviewController/saveInterview と入力すると、すべてが機能します。私のサイトのすべてのページからではなく、デフォルトのページからだけ削除したようです。おすすめは何ですか?saveInterview()InterviewControllerThe requested URL was not found on this server (404) errorsaveInterview()index.php

4

4 に答える 4

3

先頭のスラッシュが問題の原因である可能性があります。

変化する

RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteRule ^(.*)$ index.php [L]
于 2013-03-19T06:05:12.620 に答える
2

これを試してください...それは私のために働いています

RewriteEngine on
RewriteBase /Ur_Folder_Path/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /Ur_Folder_Path/index.php?/$1 [L] 
于 2013-03-19T06:17:35.407 に答える
1

.htaccess ファイルを編集して >

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>
于 2014-02-12T10:01:26.597 に答える
0

書き換えルールを次のように変更します

RewriteRule ^(.*)$ /YOUR_CI_PROJECT_NAME/index.php/$1 [L]
于 2013-03-19T06:09:27.230 に答える