Php htaccess重定向和隐藏URL部分
我希望安装两个Codeigniter,一个在默认的rootPhp htaccess重定向和隐藏URL部分,php,.htaccess,codeigniter,mod-rewrite,Php,.htaccess,Codeigniter,Mod Rewrite,我希望安装两个Codeigniter,一个在默认的rootroot/中,另一个在root/en中。问题在我的.htaccess文件和默认控制器的位置。在我的默认安装中一切正常,我在以下目录中有默认的/front控制器:root/public/index.php,我的.htaccess如下所示,以便重定向并从url中删除“public”: RewriteEngine on RewriteBase / ReWriteCond %{REQUEST_URI} !public/ ReWriteRule
root/
中,另一个在root/en
中。问题在我的.htaccess文件和默认控制器的位置。在我的默认安装中一切正常,我在以下目录中有默认的/front控制器:root/public/index.php
,我的.htaccess如下所示,以便重定向并从url中删除“public”:
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]
根目录下一切正常,服务器自动重定向到根目录/public/index.php
文件夹,并在那里读取“index.php”。.htaccess然后隐藏url的“public/index.php”部分
如何编写类似的.htaccess文件,以便当用户键入url“sitename/en”时,它自动重定向到
根/en/public/index.php
,并隐藏public/index.php
部分?尝试使用以下任一选项:
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]
确保config.php文件
$config['base_url'] = "http://".$_SERVER['HTTP_HOST']."/projectname";
$config['uri_protocol'] = 'PATH_INFO';
尝试编辑#2行以RewriteBase/en