I am using Codeigniter in Local WAMP. Here code is working fine. But i upload in Cpanel ( inside of example.com, folder name call 'mysite
'). There I changed as,
- db_name (config/database.php)
- db_user_name (config/database.php)
- db_password (config/database.php)
- base_url as http://example.com/mysite (config/config.php)
- uri_protocol as REQUEST_URI (config/config.php)
And also changed .htaccess
(mysite/.htaccess) as,
<IfModule mod_rewrite.c>
RewriteEngine On
# Set the rewritebase to your CI installation folder
RewriteBase /mysite/
# Send everything to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
But not in mysite/application/.htaccess . It's empty.
Problem is, If I go http://example.com/mysite , it's showing default page as correctly. But if I click any link (http://example.com/mysite/user/signin), it's showing same default page. but URL is changed.
help me, Please...
config.php
$config['base_url'] = 'http://example.com/mysite';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
$config['url_suffix'] = '';
$config['language'] = 'english';
$config['charset'] = 'UTF-8';
$config['enable_hooks'] = FALSE;
$config['subclass_prefix'] = 'MY_';
$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';
$config['log_threshold'] = 0;
$config['log_path'] = '';
$config['log_date_format'] = 'Y-m-d H:i:s';
$config['cache_path'] = '';
$config['encryption_key'] = '***';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;
$config['global_xss_filtering'] = FALSE;
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_test_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['compress_output'] = FALSE;
$config['time_reference'] = 'local';
$config['rewrite_short_tags'] = FALSE;
$config['proxy_ips'] = '';
define('CSS_FOLDER' , 'application/assets/css');
define('DEFAULT_IMAGE_URL' , 'application/assets/images/default');
routes.php
$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['user/(:any)'] = 'user/index';
Try this htaccess:
Also you should have created controller named user and this controller should ahve function signin.
Don't write anything in .htaccess file and remove $route['user/(:any)'] = 'user/index'; line and one thing very important make sure in your server mod rewrite extension should me enabled.
may this help you How to enable mod_rewrite in php.ini on shared hosting
Sometimes "ORIG_PATH_INFO" fixes this issue. So you can also try again with changing uri_protocol to "ORIG_PATH_INFO"
and the base_url should be absolute,
I used following .htaccess file and it works for me with cpanel.
There are few things that you have to take into consideration. when you setup your project with codigniter framework. following is the file that you have to make changes.
1).htaccess:
2)application/config/config.php
3)application/config/database.php
4)application/config/routes.php
Note: your .htaccess file must be in root directory. here it should be in mysite folder