UrlRewrite后的跳转找不到页面
发布于:2022-01-17 09:50:54
#1 伊雷恩怒风
配置文件中有配置:
'auto_display' => TRUE,
'auto_display_sep' => '_',
'auto_display_suffix' => '.html',
调用代码为:
$this->jump(spUrl('user','login'));
显示的跳转链接是:m.xxx.com/user_login.html
问题是,我在/tpl目录下面的确是有user_login.html文件的呀,为什么会提示404找不到页面?
该贴已经同步到 伊雷恩怒风的微博补充内容 (2012-2-19 21:54):另外,urlrewrite的代码为:
'suffix' => '.html',
'sep' => '_',
2012-02-19 21:52:26
#2 伊雷恩怒风
另外,我把user_login.html移到根目录下面/user_login.html,这样就能访问了
刚才放在/tpl/user_login.html 这里死活不能访问。。。为什么呐
我在spConstroller中还有定义user类和login方法呀。。。根本调用不到
2012-02-19 22:04:25
#3 伊雷恩怒风
另外,我在httpd-vhosts中这样写的
ServerAdmin m.xxx.com
DocumentRoot F:\xxx\admin
ServerName m.xxx.com
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
这个admin只是xxx的一个子文件夹,我在admin里面搭建的框架
2012-02-19 22:09:19
#5 伊雷恩怒风
{:soso_e109:}.htaccess文件也用了呀,在/根目录和/admin目录下面都放了,都没反应呀。。。
神奇的是,我写成m.xxx.com/index.php?c=user&m=login居然又是对的,OMG
2012-02-19 22:46:56
#6 jake
出现404就是.htaccess不起作用
把
AllowOverride None
改成
AllowOverride All
2012-02-20 08:52:00
#7 伊雷恩怒风
郁闷了,还是不行呀,.htaccess文件没问题:dizzy:
返回的URL地址是m.xxx.com/user_login.html,如果把user_login.html放在/admin的根目录下面/admin/user_login.html这样就可以访问,但是放在/admin的tpl文件夹下面/admin/tpl/user_login.html这样就访问不了,出现404错误
我怀疑m.xxx.com/user_login.html根本就没有执行user控制器下的login操作,仅仅是简单读取页面而已,因为如果目录结构不变,我把访问地址换成m.xxx.com/index.php?c=user&m=login就又没有问题了
2012-02-20 09:59:55
#8 jake
是.htaccess没起作用,否则的话,不会出现404的。
因为.htaccess的作用是把全部404的请求都转发到index.php上,所以不会出现404.
你看看我上面写的再认真配置配置吧。记得AllowOverride All还要重启。
如果能做到,访问任何页面都不会出现404而是访问index.php,那么就是.htaccess成功了。
2012-02-20 13:08:32
#9 伊雷恩怒风
不知道会不会跟操作系统有关呢,我用的vista
2012-02-20 23:14:42
#10 jake
伊雷恩怒风 发表于 2012-2-20 23:14
不知道会不会跟操作系统有关呢,我用的vista
如果手动配置复杂,可以下载我们的SpeedAMP服务器套装,这个是已经配置好的。
http://www.speedphp.com/download.html
2012-02-21 07:34:12