URLReWrite 失败 请教大家

#1 47660666

我现在的URL是http://localhost/app/?a=register (目前暂时把一些公共控制器写在main里)可是我想弄成这个样子:http://localhost/app/register

我已经完成的工作:
1.下载.htaccess文件 放置到index.php同级目录下
2.修改index.php 部分内容如下:

'launch' => array( // 加入挂靠点,以便开始使用Url_ReWrite的功能
                'router_prefilter' => array(
                                array('spUrlRewrite', 'setReWrite'),  // 对路由进行挂靠,处理转向地址
                        ),
                 'function_url' => array(
                                array("spUrlRewrite", "getReWrite"),  // 对spUrl进行挂靠,让spUrl可以进行Url_ReWrite地址的生成
                    ),
        ),

        'ext' => array(
                          //Url_ReWrite设置
                         'spUrlRewrite' => array(
                                'hide_default' => false,
                                 'args_path_info' => false,
                                'suffix' => '', //
                                'sep' => '-',
                                'map' => array(
                                        'login' => 'main@login',
                                        'register' => 'main@register',
                                        'resetpassword' => 'main@resetpassword',

                                         '@' => 'main@no'        
                                ),
                                'args' => array(
                                         'search' => array('q','page'),
                                ),
                        ),
        ),




结果出现的问题:
1.http://localhost/app/register 无法访问
2.http://localhost/app/?a=register 无法访问
3. 甚至连项目http://localhost/app/ 都无法访问

是我的配置有问题么?还是哪里出了错,或者我的Apache不支持?(我是本地XAMPP套件)

有劳各位看下哪里出错了,谢谢各位.

2012-03-14 09:15:14

#2 lijun

1.检测Apache是否支持mod_rewrite

通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。

如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的””号删除即可。

如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。

2012-03-14 09:25:48

#3 jake

1.http://localhost/app/register 无法访问
2.http://localhost/app/?a=register 无法访问
3. 甚至连项目http://localhost/app/ 都无法访问
apache的rewrite配置正确后,无论页面有没有存在,访问上面的网址都会访问到index.php上面(也就是控制器main/index)。

如果无法访问,那么就是apache的rewrite没做好。这是一个很简单的判断!

2012-03-14 09:26:32

#4 47660666

谢谢这位朋友 已经修改了阿帕奇的配置 还是不行的

:'(

2012-03-14 09:27:43

#5 jake

或者可以考虑用本站提供的speedamp

2012-03-14 09:28:54