小编Dan*_*ook的帖子

Apache 301重定向并保留发布数据

我已经使用Apache 301重定向将SEO URL实现到网站根目录中的"redirect.cfm",该网站处理所有URL构建和内容交付.

在301重定向期间,发布数据会丢失.

到目前为止还无法找到解决方案,尝试从重写中排除post方法 - 最坏的情况我们可以使用旧类型的URL来进行post方法.

有什么可以做的吗?

谢谢

apache rewrite http-post http-status-code-301

24
推荐指数
2
解决办法
4万
查看次数

ColdFusion文件夹权限变为只读

目前运行ColdFusion 10,但这可能是多年来一直存在的问题,也许是整个CF6/7.

作为CMS的一部分,验证的一部分是将图像上载到目录,例如

<cffile action="UPLOAD" filefield="image" destination="media/img/" nameconflict="MAKEUNIQUE" accept="image/jpeg,image/gif,image/pjpeg" mode="644">
Run Code Online (Sandbox Code Playgroud)

然后通过检查尺寸的脚本读取它们.

如果一切都通过,则进程脚本将其移动到其目标目录,例如

<cffile action="MOVE" source="media/img/imagename" destination="media/img/#hexdir#/imagename" mode="644">
Run Code Online (Sandbox Code Playgroud)

如果失败则应删除.

<cffile action="DELETE" file="media/img/imagename">
Run Code Online (Sandbox Code Playgroud)

每隔一段时间/ img /目录变为只读,就无法写入该文件.但我无法确定原因.

有没有我不知道的错误?有任何想法吗?

谢谢

附加信息

我考虑过使用CFDirectory来更改脚本中的文件夹权限,因此如果再次发生,可以快速解决.

我发现了两个问题

在UNIX和Linux上,cfdi​​rectory action ="list"不会返回mode列中的任何信息.

使用权限为644,777,111的重命名文件夹似乎不会影响我可以在FileZilla中查看的文件夹的权限.

这是否意味着CF首先无法更改文件夹权限?

coldfusion file-permissions cffile coldfusion-10

5
推荐指数
1
解决办法
694
查看次数

Application.cfm在301重定向后缺少会话变量

运行ColdFusion 7.

Application.cfm将所有session变量循环到request.session

OnRequestEnd.cfm将所有request.session值循环回session

它这样做所以它只需要在单个事务中编写变量时锁定范围一次.(我相信这不再是一个问题了吗?但我不能完全撕掉它).

我有一个'redirect.cfm'页面,它提供301重定向到SEO URL或传递内容.某些表单发布到旧URL,因此需要301重定向,这会导致POST数据丢失.这就是我打算如何处理它.

<!--- if form scope exists (posted data) copy it to the request.session scope ---> 
<cfif structKeyExists(form,'fieldNames')>
    <cfset request.session.postData = structCopy(form)>
</cfif>
Run Code Online (Sandbox Code Playgroud)

然后它继续进行301重定向,当它返回redirect.cfm以传递内容时,它运行此代码

<!--- if request.session.postData exists (posted data) copy it to the form scope --->
<cfif structKeyExists(request.session,'postData')>
    <cfset form = structCopy(request.session.postData)>
    <cfset StructDelete(request.session,'postData')>
</cfif>
Run Code Online (Sandbox Code Playgroud)

如果从数据发布中不需要301重定向,这可以正常工作.

通过301重定向,我确认了Application.cfm,OnRequestEnd.cfm都运行了两次(一次用于初始301,一次用于内容传送).

在第一个OnRequestEnd.cfm调用结束时,session.postdata使用表单数据正确填充.

301重定向后,它再次点击Application.cfm session.postdata返回'struct [empty]'

有帮助吗?谢谢

coldfusion http-status-code-301 coldfusion-7 application.cfm

3
推荐指数
1
解决办法
548
查看次数

ColdFusion 10 CFFILE接受mimetype无法识别

我在上传WMV和MPEG文件时遇到问题,'video/x-ms-wmv'(等)在接受列表中 - 我得到一个错误

服务器不接受MIME类型或上载文件application/octet-stream的扩展名

使用Chrome,我检查标题然后读取

内容处理:表格数据; NAME = "fv_file"; filename ="blahblah.wmv"内容类型:video/x-ms-wmv

客户端计算机还具有WMV注册表项,该条目看起来正确.

服务器端Apache配置为使用OS mime类型文件:/etc/mime.types.此文件包含wmv和mpeg的条目:video/x-ms-wmv wmv video/mpeg mpeg

CF10如何确定mimetype?我很难找到这些信息.有没有人有办法解决吗?

谢谢

编辑 - 添加代码

<cffile action="UPLOAD" filefield="fv_file" destination="#pathtotheserverroot##mediadir#/video/" nameconflict="MAKEUNIQUE"   accept="#qry_xxxx.OT_MIMETYPES#" mode="644">
Run Code Online (Sandbox Code Playgroud)

OT_MIMETYPES的值是

视频/ MP4,视频/ MPEG,视频/ QuickTime的,视频/ X-msvideo,视频/ X-SGI-电影,视频/ AVI,视频/ vnd.vivo,应用/ vnd.rn-的RealMedia,视频/ vnd.rn-的RealVideo,音频/ vnd.rn-的RealAudio,音频/ X-PN-的RealAudio,视频/ X-MS-WMV,音频/ MPEG,视频/ MPG,视频/ MPE,视频/ X-MS-ASF,视频/ X- M4V

我完成了CFDUMP

Accept   video/mp4,video/mpeg,video/quicktime,video/x-msvideo,video/x-sgi-movie,video/avi,video/vnd.vivo,application/vnd.rn-realmedia,video/vnd.rn-realvideo,audio/vnd.rn-realaudio,audio/x-pn-realaudio,video/x-ms-wmv,audio/mpeg,video/mpg,video/mpe,video/x-ms-asf,video/x-m4v
Detail   Only files of type video/mp4,video/mpeg,video/quicktime,video/x-msvideo,video/x-sgi-movie,video/avi,video/vnd.vivo,application/vnd.rn-realmedia,video/vnd.rn-realvideo,audio/vnd.rn-realaudio,audio/x-pn-realaudio,video/x-ms-wmv,audio/mpeg,video/mpg,video/mpe,video/x-ms-asf,video/x-m4v can be uploaded. Verify that you are uploading a file of the appropriate type.
Message  The MIME type or the Extension of …
Run Code Online (Sandbox Code Playgroud)

coldfusion mime-types coldfusion-10

0
推荐指数
1
解决办法
2834
查看次数