0

mod_rewrite を xampp で動作させる方法を 3 日間試した後、ついに CodeIgniter フォーラムを試しました。しかし、彼らでさえ、私が必要とする答えを私に与えることができませんでした. CI フォーラムでの私のオリジナルの投稿は、こちらにあります: http://codeigniter.com/forums/viewthread/221002/

問題は、mod_rewrite を有効にするためにすべてを行ったと確信していることです。

apache/config/httpd.conf: mod_rewrite モジュールを有効にした 1 行のコメントを外しました。すべての行「AllowOverride None」を「AllowOverride All」に置き換えました。

CI/application/config/config.php で:

  • $config['base_url'] = '';
  • $config['index_page'] = '';
  • $config['uri_protocol'] = 'REQUEST_URI';

CI/application/config/routes.php で:

  • $route['default_controller'] = "ユーザー";

私の .htaccess ファイルは、アプリケーション フォルダーと同じフォルダーにあります。.htaccess ファイルは次のようになります。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /localhost/Tong-Il/

#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#When your application folder isn't in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
php_flag short_open_tag off
php_flag magic_quotes_gpc Off
</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>  

私のサイトは Tong-Il と呼ばれているので、/localhost/Tong-Il/ を参照すると、ホームページが表示され、すべて正常に読み込まれます (個別のヘッダー、フッター、メニュー ビュー + データベースへの接続)。しかし、ホームページのどこかでリンクをクリックするとすぐに、404 エラーが表示されます。

クリックしたリンクは、「ユーザー」コントローラーによって処理されます。そのため、メニューで「ギャラリー」を押すと、次の URL の 404 エラー ページが表示されます: localhost/Tong-Il/user/images。これを localhost/Tong-Il/index.php/user/images に変更すると、正常に動作します! 私のウェブサイトはオンラインで見つけることができますが、少し前にアップロードしました。すべてがオンラインで動作しています (mod_rewrite を含む)。

これを解決するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

RewriteBase をローカルで間違って設定しています。それ以外の

RewriteBase /localhost/Tong-Il/

そのはず

RewriteBase /Tong-Il/
于 2012-07-18T21:45:49.153 に答える