对speedphp伪静态的迷惑

#1 gflhx

用speedphp写好的接口,http://XXX/order2/index.php?a=login&c=show&Waiter_ID=admin2&Waiter_Password=12
这是get提交。如果用post提交时会报错,怎么把index.php?a=login&c=show给变成一个可以根据动作来命名的.php
http://XXX/order2/index.php?Waiter_ID=admin2&Waiter_Password=12

2013-05-11 12:03:35

#2 jake

建议先看看手册 http://www.speedphp.com/thread-3732-1-1.html
'spUrlRewrite' => array(
        'suffix' => '.php',
        'sep' => '/',
        'map' => array(),
        'args' => array(),
),

2013-05-11 12:44:18

#3 gflhx

jake,我是这样配置的,可是在网页上显示
http://服务器ip/order2/show.php?Waiter_ID=admin2&Waiter_Password=12
The requested URL /order2/show.php was not found on this server.
服务器用的是apache

2013-05-11 14:08:45

#4 jake

继续看手册 http://www.speedphp.com/thread-3729-1-1.html

“The requested URL /order2/show.php was not found on this server.”是apache服务器未配置好伪静态的提示。

2013-05-11 15:02:48

#5 gflhx

jack我是按照 apache的伪静态进行配置的。
        'spUrlRewrite' => array(
                        'suffix' => '.php',                         'sep' => '/',                         'map' => array(
               'show' => 'login@show',),                                ),
这个map里是不是这个意思
像上面写的。原来的url
http://XXX/order2/index.php?c=login&a=show&Waiter_ID=admin2&Waiter_Password=12
变成了http://XXX/order2/show.php?Waiter_ID=admin2&Waiter_Password=12     


2013-05-11 15:47:37

#6 coolhpy

suffix 应该不能设置为 .php 的吧,,不然会被当成 php 文件来处理了啊,服务器上又找不到show.php,当然会爆出 not found 的错误了。
把suffix改成.html试试。。
访问地址应该类似  http://XXX/order2/show.html

2013-05-11 16:19:40

#7 gflhx

还是不行,就是按照apache伪静态进行一步一步设置的。
$spConfig = array(
      "db" => array( // 数据库设置
                'host' => 'localhost',  // 数据库地址,一般都可以是localhost
                'login' => 'root', // 数据库用户名
                'password' => 'admin', // 数据库密码
                'database' => 'order_system', // 数据库的库名称
        ),
    'launch' => array( // 加入挂靠点,以便开始使用Url_ReWrite的功能
                'router_prefilter' => array(
                                array('spUrlRewrite', 'setReWrite'),  // 对路由进行挂靠,处理转向地址
                        ),
                 'function_url' => array(
                                array("spUrlRewrite", "getReWrite"),  // 对spUrl进行挂靠,让spUrl可以进行Url_ReWrite地址的生成
                    ),
        ),
   'ext' => array(
                'spUrlRewrite' => array(
                        'suffix' => '.html',
                       
                        'map' => array(
                          'show' => 'login@show',
),
                       
                ),
),




2013-05-11 16:44:20

#8 jake

那个错误是服务器404,如果按教程配置过apache是不会出现404的。而且楼主一直说php程序配置,很明显apache没有被配置过。比如说.htaccess文件配置什么的。

判断服务器有没配置好就是看有没有404,手册里写的方法如果看了做了成功了,就不可能有404。

真心建议花点时间看看,那是伪静态的前提,不管你程序上写得多正确,服务器没配好都是用不了的

ps: 后缀可以是php或者其他任何单词,因为服务器(不是php)真按教程配置好,那么任何网址都是虚构的,服务器只会访问index.php做路由转发。

2013-05-12 08:59:13

#9 gflhx

jake,谢谢你的热心解答。我也是按照apache配置一步一步进行的,先从手册中下载 .htaccess文件,然后放在和index.php同级目录下。在index.php中加入手册中的代码,现在已输入那个伪静态的地址后,不出现404了,可是没内容了。没有伪静态的时候是可以输出内容的!

2013-05-13 11:55:51

#10 jake

gflhx 发表于 2013-5-13 11:55
jake,谢谢你的热心解答。我也是按照apache配置一步一步进行的,先从手册中下载 .htaccess文件,然后放在和 ...
或者可以自己先下载php例子试试,然后再按手册慢慢学习修改。http://www.speedphp.com/thread-3728-1-1.html

在不了解技术的情况下,一步到位所出的问题很难看清的。

2013-05-13 12:14:39

#11 gflhx

谢谢jake,已经解决了!万分的感谢!

2013-05-13 15:24:56