[英]Codeigniter .htaccess redirect and hide URL part
我希望在我的默认根root/
有两个Codeigniter安装,在root/en
一个安装。 问题出在我的.htaccess文件和默认控制器的位置。 一切都可以在我的默认安装中正常运行,我在以下目录中具有default / 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]
root一切都很好,服务器自动重定向到root/public/index.php
文件夹并在其中读取“ index.php”,。htaccess然后隐藏了网址的“ public / index.php”部分。
如何编写类似的.htaccess文件,以便当用户键入URL“ sitename / en”时,它自动重定向到root/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';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.