0

私の現在の開発では CodeIgniter を使用しています。いくつかのパラメーターをメイン コントローラーのインデックス関数に渡そうとすると、 me が返されます404 error

http://localhost/gis/1 -> 404 ERROR
http://localhost/gis/home/1 -> 404 ERROR

実際、私のroute.phpファイルには次のようなルートがあります。

$route['default_controller'] = "home";    

$route['home/([:num])'] = 'home/index/$1';

私の.htaccessファイルはこれです(CI URLからindex.phpを取り除くためのこの投稿から):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    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]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

そして私のconfig.phpファイル:

$config['base_url'] = "http://localhost/gis";

$config['index_page'] = "";

私は何を間違っていますか?ありがとう!

4

1 に答える 1

2

アップデート:

OPの引用:

.htaccessは無罪でした。問題は、私のルートが$ route ['home /(:num)']=...である必要があることでした。括弧とすべての作品の両方を追加しました。


それよりも:

$route['home/([:num])'] = 'home/index/$1';

次のように指定してみてください。

$route['home/:num'] = 'home/index/$1';

また、からapplication/config/routes.php、デフォルトのコントローラーが次のように設定されていることを確認してhomeください。

$route['default_controller'] = 'home';
于 2011-02-27T11:27:31.233 に答える