IIS伪静态

#1 kao10324

1.jpg根目录文件结构
虚拟主机为IIS支持httpd.ini,
http.ini使用的是手册中的:
[ISAPI_Rewrite]
Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . [F,I,O]

RewriteRule /js/(.*) /js/$1 [L]
RewriteRule /css/(.*) /css/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]

RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

首页中使用的伪静态配置:
$spConfig['controller_path'] = APP_PATH.'/modules/'.basename(__FILE__,".php");
$spConfig['launch'] = array(
        'router_prefilter' => array(
                        array('spUrlRewrite', 'setReWrite'),  // 对路由进行挂靠,处理转向地址
                ),
        'function_url' => array(
                        array("spUrlRewrite", "getReWrite"),  // 对spUrl进行挂靠,让spUrl可以进行Url_ReWrite地址的生成
            ),
);
$spConfig['ext'] = array(
        'spUrlRewrite' => array(
        'suffix' => '.html',
        'sep' => '_',
        'map' => array(
        'single' => 'single@index',
        'product' => 'product@index',
        ),
        'args' => array(),
),
);


使用后伪静态生效..但页面的样式全部失效,应该是样式表没起到作用,所有img标签载入图片也失败
">图片等链接地址:/themes/default/img/speedcms-logo.png
样式表链接地址:/themes/default/css/style.css


2012-10-12 11:06:09

#2 jake

你的css目录叫themes,把规则里面的css,图片目录什么都改成你的目录结构就行了。

看手册要带些思考:L

2012-10-12 11:09:02

#3 anythink

顶楼上!~ 哈哈哈

2012-10-12 11:11:01

#4 kao10324

jake 发表于 2012-10-12 11:09
你的css目录叫themes,把规则里面的css,图片目录什么都改成你的目录结构就行了。

看手册要带些思考 ...
httpd.ini:
[ISAPI_Rewrite]
Defend your computer from some worm attacks
RewriteRule .*(?:global.asa|default.ida|root.exe|..).* . [F,I,O]

RewriteRule /js/(.*) /js/$1 [L]
RewriteRule /css/(.*) /css/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]

RewriteRule /themes/(.*) /themes/$1 [L]
RewriteRule /media/(.*) /media/$1 [L]
RewriteRule /uploads/(.*) /uploads/$1 [L]
加上相应被调用文件的文件夹

RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

index.php配置:
// 当前模块附加的配置
$spConfig['controller_path'] = APP_PATH.'/modules/'.basename(__FILE__,".php");
$spConfig['launch'] = array(
        'router_prefilter' => array(
                        array('spUrlRewrite', 'setReWrite'),  // 对路由进行挂靠,处理转向地址
                ),
        'function_url' => array(
                        array("spUrlRewrite", "getReWrite"),  // 对spUrl进行挂靠,让spUrl可以进行Url_ReWrite地址的生成
            ),
);
$spConfig['ext'] = array(
        'spUrlRewrite' => array(
        'suffix' => '.html',
        'sep' => '/',
        'map' => array(),
        'args' => array(),
),
);
admin.php:
define('SPEEDCMS', true);
// 后台模块程序入口文件

// 载入配置与定义文件
require("config.php");

// 当前模块附加的配置
$spConfig['controller_path'] = APP_PATH.'/modules/'.basename(__FILE__,".php");

// 载入SpeedPHP框架
require(SP_PATH."/SpeedPHP.php");
spRun();

前台开启伪静态后..均正常...但登陆后台就会出现错误:
admin.php?c=navigation&a=index类名称错误,请检查。
前台关闭伪静态后.则后台正常运行.
怎么添加规则才不会使前台开启伪静态影响到后台?



2012-10-12 21:39:32

#5 jake

先理解上面写的规则,那么你就能明白

2012-10-15 15:41:52