Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess重定向和隐藏URL部分_Php_.htaccess_Codeigniter_Mod Rewrite - Fatal编程技术网

Php htaccess重定向和隐藏URL部分

Php 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

我希望安装两个Codeigniter,一个在默认的root
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