• 关于 aspnet 命令 的搜索结果

回答

问题现象 ECS Windows系统有时系统可以选择32位或者64位,有时操作系统选择的是64位,而程序是在32位.NET下开发;而有时操作系统安装的是32位,而程序是在64位.NET下开发,导致程序无法运行,因此需要将IIS的.NET注册成32位或者64位的版本,可以通过命令提示符的方式进行.NET版本注册。 解决方案 1、将64位.NET注册到IIS上; 命令提示符打开输入命令:cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0 注册64位.NET2.0: C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -i 注册64位.NET4.0: C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -i 2、将32位.NET注册到IIS上; 命令提示符打开输入命令:cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 注册32位.NET2.0: C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -i 注册32位NET4.0: C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -i

游客br6uodsdjecqe 2019-12-02 02:05:50 0 浏览量 回答数 0

回答

问题现象 ECS Windows系统有时系统可以选择32位或者64位,有时操作系统选择的是64位,而程序是在32位.NET下开发;而有时操作系统安装的是32位,而程序是在64位.NET下开发,导致程序无法运行,因此需要将IIS的.NET注册成32位或者64位的版本,可以通过命令提示符的方式进行.NET版本注册。 解决方案 1、将64位.NET注册到IIS上; 命令提示符打开输入命令:cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0 注册64位.NET2.0: C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -i 注册64位.NET4.0: C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -i 2、将32位.NET注册到IIS上; 命令提示符打开输入命令:cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1 注册32位.NET2.0: C:\windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis -i 注册32位NET4.0: C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -i

KB小秘书 2019-12-02 01:29:11 0 浏览量 回答数 0

问题

ECS Windows系统服务器IIS注册64位和32位.NET方法是什么

boxti 2019-12-01 21:30:05 1526 浏览量 回答数 0

新手开公司,教你化繁为简

开公司到底有没有那么难,传统的手续繁琐,线下跑断腿,场地搞不定等问题,通过阿里云”云上公司注册“解决你的烦恼。

回答

这一般是由于您在安装 IIS 之前,先安装了 Microsoft .NET Framework。要修复这个问题,您需要使用 ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 进行注册。操作命令可参考: C:\WINDOWS\Microsoft.NET\Framework\版本号\aspnet_regiis.exe -ir -enable   更多关于 ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 的信息,请参考微软官方网站。

KB小秘书 2019-12-02 01:28:27 0 浏览量 回答数 0

回答

问题原因 该问题通常是由于系统中多个版本的 .NetFramework 冲突所导致的。 解决方案 可尝试通过如下方法解决该问题: 用Everything软件或系统自带搜索查找文件:aspnet_regiis.exe 。 找到对应的.NetFramework 2.0版本所在目录。 在cmd命令行下切换到上述目录。 执行: aspnet_regiis.exe -u 。 然后再执行: aspnet_regiis.exe -i 。 重启IIS再查看网站运行状态。

KB小秘书 2019-12-02 02:07:47 0 浏览量 回答数 0

回答

Re數據庫帳戶的權限 主要是遇到了這樣的錯誤訊息 請問有人知道原因嗎? 謝謝 安装失败。 异常: 执行 SQL 文件“UninstallMembership.sql”时发生错误。SQL 错误号为 50000,SqlException 消息为: Current user foxtester01 have no permission . The transaction ended in the trigger. The batch has been aborted. Changed database context to 'sp4ff196a927cf8'. Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. ---------------------------------------- 故障的详细信息 ---------------------------------------- SQL Server: 数据库: [sp4ff196a927cf8] 加载的 SQL 文件: UninstallMembership.sql 命令失败: USE [sp4ff196a927cf8] DECLARE @command nvarchar(4000) DECLARE @RemoveAllRoleMembersExits bit SET @RemoveAllRoleMembersExits = 0 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_UnRegisterSchemaVersion]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) BEGIN     SET @command = 'GRANT EXECUTE ON [dbo].aspnet_UnRegisterSchemaVersion TO '   QUOTENAME(user)     EXEC (@command) END IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Setup_RemoveAllRoleMembers]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) BEGIN     SET @RemoveAllRoleMembersExits = 1     SET @command = 'GRANT EXECUTE ON [dbo].aspnet_Setup_RemoveAllRoleMembers TO '   QUOTENAME(user)     EXEC (@command) END IF EXISTS ( SELECT * FROM sysusers WHERE issqlrole = 1 AND name = N'aspnet_Membership_FullAccess'  ) BEGIN   IF (@RemoveAllRoleMembersExits = 1)      EXEC [dbo].[aspnet_Setup_RemoveAllRoleMembers] N'aspnet_Membership_FullAccess'   EXEC sp_droprole N'aspnet_Membership_FullAccess' END IF EXISTS ( SELECT * FROM sysusers WHERE issqlrole = 1 AND name = N'aspnet_Membership_BasicAccess'  ) BEGIN   IF (@RemoveAllRoleMembersExits = 1)      EXEC [dbo].[aspnet_Setup_RemoveAllRoleMembers] N'aspnet_Membership_BasicAccess'   EXEC sp_droprole N'aspnet_Membership_BasicAccess' END IF EXISTS ( SELECT * FROM sysusers WHERE issqlrole = 1 AND name = N'aspnet_Membership_ReportingAccess'  ) BEGIN   IF (@RemoveAllRoleMembersExits = 1)      EXEC [dbo].[aspnet_Setup_RemoveAllRoleMembers] N'aspnet_Membership_ReportingAccess'   EXEC sp_droprole N'aspnet_Membership_ReportingAccess' END IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_CreateUser]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_CreateUser] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetUserByName]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetUserByName] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetUserByEmail]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetUserByEmail] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetPassword]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetPassword] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetPasswordWithFormat]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetPasswordWithFormat] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_UpdateUserInfo]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_UpdateUserInfo] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_SetPassword]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_SetPassword] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_ResetPassword]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_ResetPassword] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_UpdateUser]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_UpdateUser] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_ChangePasswordQuestionAndAnswer]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_ChangePasswordQuestionAndAnswer] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetAllUsers]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetAllUsers] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetNumberOfUsersOnline]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetNumberOfUsersOnline] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_FindUsersByName]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_FindUsersByName] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_FindUsersByEmail]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_FindUsersByEmail] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_GetUserByUserId]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_GetUserByUserId] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership_UnlockUser]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[aspnet_Membership_UnlockUser] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_Membership]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) DROP TABLE [dbo].[aspnet_Membership] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[vw_aspnet_MembershipUsers]') AND OBJECTPROPERTY(id, N'IsView') = 1) DROP VIEW [dbo].[vw_aspnet_MembershipUsers] IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[aspnet_UnRegisterSchemaVersion]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) BEGIN     EXEC [dbo].aspnet_UnRegisterSchemaVersion N'Membership', N'1'     SET @command = 'REVOKE EXECUTE ON [dbo].aspnet_UnRegisterSchemaVersion FROM '   QUOTENAME(user)     EXEC (@command) END IF (@RemoveAllRoleMembersExits = 1) BEGIN     SET @command = 'REVOKE EXECUTE ON [dbo].aspnet_Setup_RemoveAllRoleMembers FROM '   QUOTENAME(user)     EXEC (@command) END PRINT '----------------------------------------------' PRINT 'Completed execution of UninstallMembership.SQL' PRINT '----------------------------------------------' SQL 异常: System.Data.SqlClient.SqlException: Current user foxtester01 have no permission . The transaction ended in the trigger. The batch has been aborted. Changed database context to 'sp4ff196a927cf8'. Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.    在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)    在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)    在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)    在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)    在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)    在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)    在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()    在 System.Web.Management.SqlServices.ExecuteFile(String file, String server, String database, String dbFileName, SqlConnection connection, Boolean sessionState, Boolean isInstall, SessionStateType sessionStatetype) ------------------------- 回2楼nono20011908的帖子 目前還在試用中,售後能支持嗎? 正試著把系統裝上去但遇到不少問題, 還在評估中……

foxtester01 2019-12-02 03:14:08 0 浏览量 回答数 0

问题

为什么ECS Windows 服务器安装了.NET 后还是找不到该版本的选项

boxti 2019-12-01 21:30:16 1083 浏览量 回答数 0

问题

ECS Windows下IIS网站无法访问出现"0x80070002系统找不到指定的文件"解决办法

boxti 2019-12-01 21:30:22 1218 浏览量 回答数 0

问题

aspnet_regiis.exe -i 报 “此操作系统版本不支持此选项”

刘刚_ 2020-05-23 21:03:21 1 浏览量 回答数 0

回答

回楼主畅哥儿的帖子 试试: 解决方法一: 在cmd 命令行中运行 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i 解决方法二: 在IIS中选中该网站,单击右键‘属性’,选择 Asp.net 标签栏。将 Asp.net 版本改成2.0 即可。 Microsoft .NET Framework 版本:1.1.4322.2300,

杉杉公子 2019-12-02 00:38:54 0 浏览量 回答数 0

回答

楼主的问题: 打开C:\Windows\Microsoft.NET\Framework ,看一下有没有相应的ASP.NET版本,如果没有那么你需要安装; 而如果有,那你再打开IIS,   如果这里没有,那你需要重装一下ASP.NET 简单的办法: 命令行下定位到C:\Windows\Microsoft.NET\Framework\v4.0.30319  ,如下图 回车,然后输入aspnet_regiis -i 再回车,如下图 安装后,我们再回到IIS刚才的界面上,刷新看 这样就已经安装成功。

huweishen 2019-12-02 00:34:56 0 浏览量 回答数 0

回答

一、检查  这里的检查并不是检查项目配置,而是检查IIS的配置。我发布的网站是要用framework 4.0才可以正常运行的,所以,我的项目运行的.net framework版本是4.0,这个是没什么问题的。这里需要检查的是《应用程序池》里是否存在framework 4.0的两个版本,这两个版本一般会同时存在(默认情况下,应用程序池里会有三项,两项framework 2.0和一个默认存在的web啥啥APP的一个)。若存在framework 4.0的两个版本,那么下文就随便看看,若不存在,则仔细看~~~ 二、framework 4.0的两个版本不存在  这里可能是服务器的framework 4.0只安装了部分,没有安装完全,所以需要对framework 4.0进行重装 1.win+r cmd打开命令提示符操作界面 2.输入cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 转换操作位置(自己对应好位置,每台机器可能不一样)  如果没有v4.0.30319目录,则需要下载framework4.0的安装包,看下方链接  链接:https://pan.baidu.com/s/1dcQike 密码:t9jb 3.输入 aspnet_regiis.exe -i 启动安装 4.安装完毕后,IIS的应用程序池则会出现framework4.0的两个版本 三、针对于IIS的服务,添加ASP和CGI的安装 这两个不知道有什么用,但是我装了,嘿嘿~~~~ 貌似和权限配置有关 四、权限开启  IIS根目录,找到如图所示 将限制改为允许 到此为止,所有配置已完毕,请重新尝试登陆!!!

KaFei 2020-05-26 15:09:47 0 浏览量 回答数 0

回答

Re如何配置IIS,让iis支持aspx 1、安装IIS        依次点击“开始”->“设置”->“控制面板”->“添加删除程序”,在出现的“添加删除程序”界面     中,单击“添加/删除 Windows组件”,在出现的“Windows组件向导”窗口中,选中“应用程序服务器”后单击“下一 步”按钮,系统开始安装IIS组件。 2、先注册asp.net组件: (asp.NET 组件即:.Net Framework )   开始->运行->cmd->执行命令: C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i  (你的.net组件位置) [ 上面这个地址是.NetFramework 自动安装默认的位置~ ] 3、接下来还要在WEB服务扩展启用ASP.NET服务:   IIS->本地计算机->WEB服务扩展->ASP.NET v2.0.5072:允许       [ 如果上面这个地址你没有找到,可能是你在安装IIS时没有装服务扩展!去Win组件里IIS看看] 4、在IIS中创建虚拟目录        IIS->本地计算机->网站->默认网站,右键->新建“虚拟目录”->取个名字->浏览你的ASPX文件的目录,确定 5、点击新建的虚拟目录->在右侧,右击:aspx文件->浏览 OK……     Good Luck

superwoman 2019-12-01 23:51:05 0 浏览量 回答数 0

回答

详细信息 过期时间控制支持三个维度,优先级依次为 控制台设置 > 源站Header设置 > Cache的默认策略设置。 关于控制台设置的详细说明,请参见设置缓存过期时间。 关于源站Header设置的详细说明,请参见WebServer缓存策略设置。 Cache的默认策略是在用户既没有在控制台设置过期时间,也没有在源站设置过期时间的情况下,会执行一个默认的全局策略,既保证加速效果,又避免因为动态的文件缓存导致的问题。关于Cache的默认策略设置的详细说明,请参见CDN节点默认缓存策略。 WebServer缓存策略设置 设置IIS缓存策略详细操作,请参见如何设置IIS缓存策略。 设置Nginx缓存策略详细操作,请参见如何设置Nginx缓存策略。 设置Apache缓存策略详细操作,请参见如何设置Apache缓存策略。 如何设置IIS缓存策略 设置IIS缓存策略的操作步骤如下。 因为整体的站点只对.html、.jpg、.png、.gif、.apk等文件进行缓存,首先将整个站点设置成不缓存,具体操作如下。 打开IIS信息管理器,右键单击服务网站a.cc.com的属性,本文以a.cc.com服务网站为例。 单击 HTTP头,勾选 启用内容过期,选择 立即过期,单击 确定。 上述设置后,整个网站的内容都不会被CDN缓存,接着设置.html、.jpg、.png、.gif、.apk等文件类型的缓存策略。 不同扩展名的文件都单独放在一个特定的目录下面,且该目录没有其他扩展名的文件。针对这个扩展名所在的整个目录设置缓存的时间。具体操作如下。 打开IIS信息管理器。 展开网站a.cc.com的目录,选中需要设置缓存时间的目录,如所有jpg文件都存储在img这个目录下,右键单击该目录并选择属性,单击 HTTP头。 注:由于步骤1已经设置整个网站不缓存,所以此时HTTP头选项下的缓存设置和步骤1中的相同。 选择 此时间段后过期,设置具体的过期时间,单击 确定。 特定扩展名的文件不是统一放在唯一的目录,而是和其他扩展名文件混合放在一个目录下。以bin目录下的test.jpg为例,介绍缓存设置的操作步骤。 注:为了避免针对特定扩展名的文件进行逐个的配置,需要设置IIS支持通配符。 设置IIS支持通配符。 打开IIS信息管理器,右键单击服务网站a.cc.com的属性,选择主目录,单击 配置。 在弹出的对话框中,单击 映射,单击 插入。 在弹出的对话框中,选择C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll文件,单击 确定。 注:不勾选确认文件是否存在。 分别单击两个对话框中的 确定,完成IIS通配符的支持配置。 在bin目录下,选择test.jpg并右键单击,选择 属性。 单击 HTTP头。 选择 此时间段后过期,设置具体的过期时间,单击 确定。 设置bin目录下其他相同扩展名文件的缓存时间,此时需要修改IIS的配置文件。具体操作如下。 注:修改文件,需要在服务中关闭IIS admin Service。 用记事本程序打开IIS的配置文件,配置文件在C:\WINDOWS\system32\inetsrv\MetaBase.xml(IIS6的设置)目录下。 查找/bin/test.jpg,找到bin目录下test.jpg文件的缓存设置。 将test.jpg改为*.jpg并保存。 其他扩展名的文件缓存设置操作同上。 如何设置Nginx缓存策略 HTTP头处理模块(HTTP Headers)允许设置任意的HTTP头,您可以使用add_header和expires命令设置Nginx缓存策略。 指令 语法 默认值 使用字段 add_header add_header name value none http server location expires 注:这个指令控制是否在应答中标记一个过期时间以及如何标记。 expires [time|epoch|max|off] 说明 Time:控制Cache-Control的值,负数表示no-cache。 epoch:将Expires头设置为1 January, 1970 00:00:01 GMT。 max:将Expires头设置为31 December 2037 23:59:59 GMT,将Cache-Control最大化到10年。 off:将禁止修改头部中的Expires和Cache-Control字段。 expires off http server location 通过expires设置,示例如下。 设置PHP的文件类型过期时间,设置为1小时。 设置成功后,系统显示类似如下。 设置PHP的文件类型为no-cache,Cache服务器不缓存。 设置成功后,系统显示类似如下。 通过add_header设置,以动态的PHP文件设置为不缓存为例。 location ~ .*.php$ { if ($request_uri !~ ^/dynamicimg/) { add_header Cache-Control "no-cache"; add_header Pragma no-cache; } } 如何设置Apache缓存策略 您可以通过Apache的mod_expires和mod_headers两个模块设置Apache的缓存策略。 mod_expires模块 mod_expires模块允许通过配置文件控制HTTP的Expires和Cache-Control头内容,它的主要作用是自动生成页面头部信息中的Expires标签和Cache-Control标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的。 mod_expires是Apache众多模块中配置比较简单的一个,它一共包括三条指令。 ExpiresActive指令:打开或关闭产生Expires:和Cache-Control:头的功能。 ExpiresByType指令:指定MIME类型的文档(如text或html)的过期时间。 ExpiresDefault指令:默认所有文档的过期时间。 过期时间的写法如下。 "access plus 1 month" "access plus 4 weeks" "now plus 30 days" "modification plus 5 hours 3 minutes" A2592000 M604800 注: access、now和A这三种写法的意义相同,都是指过期时间从访问时开始计算。 modification和M的意义相同,指过期时间从被访问文件的最后修改时间开始计算。 本种写法只对静态文件起作用,对于由脚本生成的动态页面无效。配置实例如下。 ExpiresActive On(开启mod_expires功能) ExpiresDefault "access plus 6 months"(默认的过期时间是6个月) ExpiresByType image/* "access plus 10 years"(图片的文件类型缓存时间为10年) ExpiresByType text/* "access plus 10 years"(文本类型缓存时间为10年) ExpiresByType application/* "access plus 30 minutes"(application文件类型缓存30分钟) 验证结果如下,image/jpeg的缓存时间为315360000s(10年)。 如果将image/jpeg设置为不缓存,即将max-age设置为0s。 #ExpiresByType image/* "access plus 10 years" ExpiresByType image/* A0 系统显示类似如下。 mod_headers模块 # YEAR Header set Cache-Control "max-age=2592000" # WEEK Header set Cache-Control "max-age=604800″ # NEVER CACHE Header set Expires "Thu, 01 Dec 2003 16:00:00 GMT" Header set Cache-Control "no-store, no-cache, must-revalidate" Header set Pragma "no-cache" CDN节点默认缓存策略 如下为CDN节点的默认缓存策略。 提示: 因为网站开发及其相关技术人员更清楚自身网站的业务逻辑、静态和动态因素,所以建议您通过控制台根据文件类型和文件所在目录,设置缓存时间。详细说明,请参见设置缓存过期时间。 如果您已经配置了缓存策略,那么Cache的默认缓存策略不生效。 默认情况下,CDN节点将根据公式计算出默认的缓存时间。为了便于理解,此处将介绍默认缓存时间的计算公式和相关示例。 计算公式。该公式分为如下三个步骤。 注:缓存时间为t,单位为秒(s);Curtime为当前时间,Last_Modified为源站的Last-Modified响应头。 计算t1的值。 t1 = (Curtime - Last_Modified) * 0.1 将上一步计算的t1之与10进行比较,取最大值为t2。 t2 = max(10,t1) 通过上一步计算的t2值与3600进行比较,取最小值为t,则t为缓存时间。 t = min(t2,3600) 示例如下。 当对象的Last-Modified为20140801 00:00:00,当前时间Curtime为20140801 00:01:00, 则t1=(Curtime-Last_modified)*0.1=6s,t2=max(10,t1)=10s,t=min(t2,3600)=10s,那么缓存时间为10s。 当对象的Last-Modified为20140801 00:00:00,当前时间Curtime为20140802 00:00:00,则t1=(Curtime-Last_modified)*0.1=8640s,t2=max(10,t1)=8640s,t=min(t2,3600)=3600s,那么缓存时间为3600s。 当对象的Last-Modified为20140801 00:00:00,当前时间Curtime为20140801 00:10:00,则t1=(Curtime-Last_modified)*0.1=60s,t2=max(10,t1)=60s,t=min(t2,3600)=60s,那么缓存时间为60s。 如果源站没有Last-Modified响应头,但有ETag,则该对象极有可能是静态资源,将其默认缓存时间设置为dft_expires指令配置的最小值。 如果源站没有Last-Modified响应头,也没有ETag,则认为该对象为动态内容,将其默认缓存时间设置为0,每次都回源。

保持可爱mmm 2020-03-30 15:03:50 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播