7

わかりました、codeigniterのドキュメントで尋ねられたとおりに実行し、新しいファイル.htaccessを作成しました

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

私はxamppを使用しているので、サイトにアクセスするためのURLは

http://localhost:12/projects/zorkif_nextgen/index.php/main

上記の.htaccessファイルを適用した後、このようにindex.phpなしで試してみました

http://localhost:12/projects/zorkif_nextgen/main

しかし、動作する代わりに、このURLにリダイレクトされます

http://localhost:12/xampp

この問題を解決するにはどうすればよいですか?

さらに、.htaccessを試した後、ページでエラーが発生します

ページ上部にメッセージが表示されていますが、

 Error Occured.
Warning!. Make sure you perform the correct action.
The Action has been completed Successfully. 

編集:

これが私のconfig.phpファイル設定の一部です

$config['base_url'] = '';
$config['index_page'] = 'index.php';
$config['uri_protocol'] = 'AUTO';
$config['url_suffix'] = '';
$config['enable_hooks'] = FALSE;
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['allow_get_array']      = TRUE;
$config['enable_query_strings'] = FALSE;
$config['controller_trigger']   = 'c';
$config['function_trigger']     = 'm';
$config['directory_trigger']    = 'd'; // experimental not currently in use
$config['sess_cookie_name']     = 'zk_ci_session';
$config['sess_expiration']      = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'sys_ci_sessions';
$config['sess_match_ip']        = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;
$config['csrf_protection'] = TRUE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['rewrite_short_tags'] = FALSE;
4

7 に答える 7

15

これは私にとってはうまくいきます:

1- ルート フォルダーに、次の内容の .htaccess ファイルを作成します。

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

2-構成ファイルの変更$config['index_page'] = 'index.php';から$config['index_page'] = '';

于 2013-03-12T03:14:24.900 に答える
7

RewriteBase を /projects/zorkif_nextgen に定義してみてください

RewriteBase /projects/zorkif_nextgen
于 2013-03-11T23:30:13.777 に答える
2
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
于 2014-12-03T15:02:27.647 に答える
2

以下を試してください

RewriteEngine on
RewriteBase /
# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
于 2013-03-11T22:52:12.480 に答える
1

これを試すことができます

<IfModule mod_rewrite.c> 
   RewriteEngine on 
   RewriteCond $1 !^(index\.php|images|swf|uploads|js|css|robots\.txt) 
   RewriteRule ^(.*)$ /ci/index.php/$1 [L] 
</IfModule>

今後の読書のためにこれは、Codeigniter が htaccess を使用して URL からインデックス php を削除するのに役立ちます

于 2014-01-20T15:40:37.437 に答える
1

config/routes.php を見たことがあるかもしれません。

デフォルトのコントローラに設定されている可能性があります。

于 2014-07-09T13:38:40.797 に答える
-1

URL から index.php を削除するために .htaccess ファイルを使用しないでください。これは設定の問題です。具体的に見て$config['base_url']$config['index_page']

于 2013-03-11T22:54:43.870 に答える