#1 Pioneer
各位好!
按照版内的例子想设置url重写,但一直不成功,老是提示404错误。
同时,下载教程中的例子,也是无法配置成功,请问这是什么原因,还需要做哪些配置?
教程链接:
http://www.speedphp.com/thread-3728-1-1.html
2012-12-03 15:46:28
#2 jake
404错误是因为你的服务器不支持rewrite,建议按手册配置一下你的服务器,或者找空间提供商开启。
2012-12-03 16:47:13
#3 Pioneer
原来服务器的AllowOverride选项配置错误,谢谢!
2012-12-03 17:02:42
#4 清源
我都配置了,包括apache也能正常解析htaccess了。但是还是404,提示这个:
The requested URL /Documents/NetBeansProjects/UUGU/index.php was not found on this server.
我感觉按照你给的htaccess有问题还是怎么回事呢?
2012-12-08 18:37:33
#5 清源
清源 发表于 2012-12-8 18:37
我都配置了,包括apache也能正常解析htaccess了。但是还是404,提示这个:
The requested URL /Documents/N ...
if (!defined('UUGU')) { exit(1);}
// 定义框架目录
define("SP_PATH",APP_PATH."/include/SpeedPHP");
// 默认时区设置
@date_default_timezone_set('PRC');
// 载入用户自定义的函数文件
define("__SKIN_NAME",'default');
// 通用的全局配置
$spConfig = array(
"db" => array(
'host' => 'localhost',
'port'=>3306,
'login' => 'root',
'password' => 'zhima',
'database' => 'uugu',
'prefix'=>'nss_',
),
'view' => array(
'enabled' => TRUE, // 开启视图
'config' =>array(
'template_dir' => APP_PATH.'/template', // 模板目录
'compile_dir' => APP_PATH.'/tmp', // 编译目录
'cache_dir' => APP_PATH.'/tmp', // 缓存目录
'left_delimiter' => '<{', // smarty左限定符
'right_delimiter' => '}>', // smarty右限定符
),
'debugging' => FALSE,
//'auto_display' => TRUE, // 是否使用自动输出模板功能
//'auto_display_sep' => '/', // 自动输出模板的拼装模式,/为按目录方式拼装,_为按下划线方式,以此类推
//'auto_display_suffix' => '.html', // 自动输出模板的后缀名
),
'url' => array( // URL设置
'url_path_info' => FALSE, // 是否使用path_info方式的URL
),
'launch' => array(
'router_prefilter' => array(
array('spUrlRewrite', 'setReWrite'), // 对路由进行挂靠,处理转向地址
array('spAcl', 'mincheck') // 开启有限的权限控制
),
'function_url' => array(
array("spUrlRewrite", "getReWrite"), // 对spUrl进行挂靠,让spUrl可以进行Url_ReWrite地址的生成
),
),
'ext'=>array(
//无权限时跳转
'spAcl'=>array(
'prompt'=>array('m_users','acljump'),
),
// 以下是Url_ReWrite的设置
'spUrlRewrite' => array(
'hide_default' => false, // 隐藏默认的main/index名称,但这前提是需要隐藏的默认动作是无GET参数的
'args_path_info' => false, // 地址参数是否使用path_info的方式,默认否
'suffix' => '.html',
'sep' => '-',
'map' => array(
),
'args' => array(
),
),
),
'dispatcher_error'=>"import(APP_PATH.'/404.html'); exit();",
); 这是配置文件,有什么错误吗??
2012-12-08 18:40:03
#6 jake
例子里面下载代码来试试就知道了
http://www.speedphp.com/thread-3728-1-1.html404就是apache配置不对,解释一下,手册里面介绍的htaccess设置,是将“全部404转发到index.php”,所以只要index.php存在并目录对了,是不可能看到404的。
'dispatcher_error'=>"import(APP_PATH.'/404.html'); exit();", 这句先不加,等你配置正常了再加进去吧。
2012-12-08 18:58:00
#7 清源
找到问题了,我用的是Wamp,问题确实出在.htaccess上面,改成这样就能解析了。
BEGIN WinBlog
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /UUGU/index.php?$1 [L]
END WinBlog
当然我这是本地开发特殊情况,搭载服务其上就是你模板中那样的了。
2012-12-11 22:50:36