CodeIgniter路由无法使用子域

时间:2015-12-22 13:41:22

标签: php .htaccess codeigniter routing subdomain

我有CodeIgniter应用程序,我转移到子域:customer.domain.com/application-name /

现在,当我访问上述URL时,我可以看到登录页面和图像链接等工作。

然而,路由不起作用。它返回500服务器错误,因为它尝试做的是访问:

customer.domain.com/customer/class/method

所以你可以看到,不知何故,子域被附加到url。情况并非如此。应使用配置的基本路径。所以我希望它可以访问:

customer.domain.com/application-name/class/method

我觉得我需要在.htaccess文件中添加一些东西,但我不太清楚该怎么做。

我的config.php文件:

$route['default_controller'] = "pub";
$route['404_override'] = '';

$route['welcome'] = 'pub/welcome';
$route['send_new'] = 'pub/send_new';
$route['cron'] = 'pub/cron';
$route['invitation/(:any)'] = 'pub/invitation/$1';
$route['unsubscribe/(:any)'] = 'pub/unsubscribe/$1';
$route['widget/(:any)'] = 'pub/widget/$1';
$route['excel-tpl'] = 'pub/excel_tpl';
$route['pub/(:any)'] = 'pub/$1';
$route['pub/(:any)/(:any)'] = 'pub/$1/$2';
$route['(:any)'] = 'pub/short_url/$1';

我的.htaccess文件:

RewriteEngine on
RewriteRule \.(js|css)$ - [L]

RewriteCond    %{REQUEST_FILENAME}    !-f 
RewriteCond    %{REQUEST_FILENAME}    !-d 
RewriteRule    ^(.*)$ index.php?$1 [QSA,L]

我希望你们能帮助我。

1 个答案:

答案 0 :(得分:0)

尝试添加

RewriteEngine on
RewriteRule \.(js|css)$ - [L]

RewriteCond %{HTTP_HOST} !^customer\.domain\.com [NC]
RewriteRule ^(.*)$ http://customer.domain.com/$1 [L,R=301]

RewriteCond    %{REQUEST_FILENAME}    !-f 
RewriteCond    %{REQUEST_FILENAME}    !-d 
RewriteRule    ^(.*)$ index.php?$1 [QSA,L]

.htaccess档。

相关问题