在codeigniter网站上使用.htaccess进行URL重写

时间:2015-04-18 03:57:33

标签: php .htaccess codeigniter codeigniter-url

目前,我的网址为http://www.example.com/index.php/leadsadmin/login,我想将其更改为http://www.admin.example.com

我正在使用codeigniter框架,我尝试创建一个像admin.example.com这样的子网站,并将其路径映射到h:\root\home\...\modules\leadsadmin,但它不起作用。

我可以做些什么来实现这个结果?

3 个答案:

答案 0 :(得分:0)

在回答之前,我对您目前的网址有疑问 http:// www.mydomain.com/index.php/leadsadmin/login它可能是http:// www.mydomain.com/leadsadmin/login

请您的服务提供商创建子域admin.mydomain.com并将其指向网络服务器IP地址

然后在apache虚拟主机配置上添加ServerAlias如下

 ServerAlias admin.mydomain.com // Add this line to your virtual host block.

答案 1 :(得分:0)

首先,您需要使用.htaccess文件

从url中删除index.php

.htaccess文件应为

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]

然后,在application / config / routes.php文件中,您需要编写

switch ( $_SERVER['HTTP_HOST'] ) {
case 'www.admin.example.com':
    $route['default_controller'] = "leadsadmin/login";
break;

default:
    // default action
}

答案 2 :(得分:0)

试试这个

RewriteEngine On
RewriteBase /your_project_name
RewriteCond %{REQUEST_URI} ^system.*
RewriteCond $1 !^(index\.php|images|js|uploads|css|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]