Php 将错误URL重定向到指定URL codeigniter
这是我当前的文件夹结构: 说明:Php 将错误URL重定向到指定URL codeigniter,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,这是我当前的文件夹结构: 说明: 我的基本url是:localhost/shoppingCart 我的默认控制器是Welcome 我把我的项目分为两部分:前端和后端 对于后端,我的标准控制器是“admin/home”(admin是文件夹,home是控制器的名称) 对于前端,我的标准控制器是“欢迎”(欢迎是控制器的名称) 问题: 当我输入localhost/ShoppingCart/admin时,它将进入“欢迎”控制器,但url保持不变。我想我应该抛出一些错误 当我输入localhost/S
- 我的基本url是:
localhost/shoppingCart
- 我的默认控制器是
Welcome
localhost/ShoppingCart/admin
时,它将进入“欢迎”控制器,但url保持不变。我想我应该抛出一些错误
当我输入localhost/ShoppingCart/admin/home
时,它工作正常
我尝试使用route将localhost/ShoppingCart/admin
重定向到localhost/ShoppingCart
:
$route['/admin'] = "welcome";
要将子文件夹重定向到主域,必须执行以下操作:
#Redirect a sub folder to root
Redirect 301 /subfolder /
在您的情况下,它将是:
redirect 301 /admin /
我想你的问题出在路线上了 我还建议您使用控制器的“好”名称 “欢迎”和“家”并不像后端和前端那个样是两码事 现在谈谈代码 我假设您的
routes.php
文件包含如下内容
$route['default_controller'] = "welcome";
现在,对于控制器文件夹中的每个子文件夹,必须在routes.php
中设置默认控制器,$route['default\u controller']
在子文件夹中不起作用
对你来说,会是这样
$route['admin'] = 'admin/home'
注意,请记住仅设置要使用的名称,关于框架将要管理的符号/
url中的哪个将是
APPPATH.controllers'
dir中的每个子目录都应该有一个与APPPATH.route.php'
中的默认控制器同名的控制器。如果您将管理模块Home.php
重命名为Welcome.php
(内部也有类),则可以解决此问题。这是因为,当路由器找不到第一个uri段的Admin.php
文件时,它会寻找Admin
目录。当找到它时,若url中并没有下一个段,路由器将查找config.php
文件中设置的默认控制器方法。在每个分区以及controllers
dir.thanx中为主页或欢迎页面使用统一名称很容易解决有关命名约定的建议。如果我使用“$route['admin']='admin/home',它将重定向到我不想要的后端主页。我希望“localhost/ShoppingCart/admin”重定向到我的主域,即“localhost/ShoppingCart”,我看不出有私人区域和不访问它有什么意义,但是如果你这样做,$route['admin']=“welcome”
没有/
符号应该有效。Thanx用于解决方案..我必须输入routes.php吗?上面提到的u的语法是什么。不,这会出现在你的.htaccess
文件中。下面是一些不起作用的例子。。我将“重定向301/admin”放入htaccess。问题是当我输入“localhost/shoppingcart/admin”时,它应该说页面未找到或重定向到主页。但它正在加载我的主页,即“localhost/shoppingcart”和相同的URL。欢迎使用Stack Overflow!我对格式做了一些改进,使它更容易阅读。请查看以获取更多示例。