I wish to have two Codeigniter installations one in my default root root/
and one in root/en
. Problem is in my .htaccess file and in the location of default controller. Everything works in my default install, I have the default/front controller in the following directoy: root/public/index.php
and my .htaccess looks like this in order to redirect and remove "public" from the url:
RewriteEngine on
RewriteBase /
ReWriteCond %{REQUEST_URI} !public/
ReWriteRule ^(.*)$ public/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
Everything is fine in root, server automaticly redirects to root/public/index.php
folder and reads "index.php" there, .htaccess then hides the "public/index.php" part of the url.
How can I write similar .htaccess file, so that when the user types the url "sitename/en" it automaticly redirects to root/en/public/index.php
and hides the public/index.php
part?
try using any of the following :
RewriteEngine on
RewriteBase /demo/
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
make sure config.php file has
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']."/projectname";
$config['uri_protocol'] = 'PATH_INFO';
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.