我在codeigniter中开发了一个模块,URL是:
http://localhost/bwn/index.php/track/track/click
http://localhost/bwn/index.php/track/track/view
http://localhost/bwn/index.php/track/track/pass_thru我也有一些在asp开发的传统应用程序,有一些网址,我现在需要重定向到我的新模块,所以我希望以下3个链接应该重定向到我的新模块在CI开发。
http://localhost/track/click_thru.asp
http://localhost/track/view_tracker.asp
http://localhost/track/pass_thru.asp这在Codeigniter中是可能的,还是我应该在.htaccess中实现?
发布于 2014-08-20 14:45:14
原始PHP
header("Location: http://google.com, TRUE, 302"); CI
$this->output->set_header("Location: http://google.com, TRUE, 302"); 发布于 2014-08-20 22:50:38
ASP和PHP是完全分开的。因此,您的codeigniter应用程序将无法将.asp文件重定向到.php
->编码点火器
在Codeigniter中,您可以重新路由routes.php文件中的URL。
例如在routes.php中
$route['hello'] = "goodbye";会将/hello重新路由到goodbye控制器。这是重新路由,而不是重新定向。
Codeigniter -> asp
您可以将控制器重定向到特定的URL。(即Codeigniter -> ASP)。这是301重定向。
例如,在你的控制器中有
redirect('/track/pass_thru.asp', 'location', 301);然而,codeigniter不能将你的asp文件重定向到codeigniter。
Asp -> codeigniter
1)在原始.asp文件中,您可以创建重定向
例如/track/pass_thru.asp
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","/bwn/index.php/track/track/pass_thru"
%>2)或者您可以通过.htaccess完成这些重定向
Redirect 301 /track/pass_thru.asp /bwn/index.php/track/track/pass_thru发布于 2014-11-12 14:58:10
在route.php中
$route['default_controller'] = "home";
$route['404_override'] = 'errors';在htaccess中
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
rewriteRule ^(([a-z0-9\-]+/)*[a-z0-9\-]+)$ $1/ [NC,R=301,L]base_url的这些更改和设置为我解决了这个问题
https://stackoverflow.com/questions/25397374
复制相似问题