您现在的位置:主页 > 程序应用 > Emlog >

emlog在Windows主机开启url重写运行的常见问题及解决方案

来源:建站吧 责任编辑:Jzq8 发表时间:2011-12-31 点击:

最近有大量的用户在反应emlog在Windows + IIS6 空间下遇到的URL重写问题,特开此贴进行相关的说明和解释:

由于空间商的技术层次不同和IIS6本身URL重写模块的功能不足,在开启url重写之后,会出现诸如url部分或者全部重写无效、真实文件无法访问、url失效等类似技术问题,而这些问题对很多技术知识不足的用户来说会造成非常大的困扰。对于这个情况emlog官方非常的关注,但是这个问题核心根本并不在于emlog,我们也无能为力,但是出于对用户负责的态度,我们总结了一些常见问题的解决方法,特放于此方便用户查询!

在解决方案开始之前,我们需要向大家提一个建议
请大家尽量不要使用IIS6做服务器的空间来运行emlog以免遇到各种疑难的url重写问题

常见问题和解决方案

问题1. 如何知道我的空间是使用的IIS6?
登陆emlog后台,在服务器环境一栏看到Microsoft-IIS/6.0字样的就能确定是IIS6空间了

问题2. 如何测试我空间可以正确实现URL重写?
解决方案:
将下列内容保存为httpd.ini放置在空间的根目录
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /test.html /index.php [L]
然后请确定 http://你的域名/index.php 是可以访问的
确定后,请访问 http://你的域名/test.html ,如果页面显示的是index.php的内容,那么说明你的空间url重写工作正常

问题2. 我的空间无法正常启用伪静态
解决方案:(依次检查,下同)
请和空间商确认你的空间支持伪静态
请将论坛置顶帖中的IIS6重写规则保存为httpd.ini放置于你的空间根目录
如果仍然无法生效,请联系你的空间客服

问题3. 我的博客访问什么链接都跳转到首页
解决方案:
请确定规则文件的正确
如果仍然无法生效,请联系你的空间客服

问题4. 我的博客空间有其他的程序,访问类似/index.php/post-1.html这样的url无法生效
解决方案:
关闭emlog的重写功能
更换空间

问题5. 访问http://somehost/admin无法进入后台
解决方案:
请访问http://somehost/admin/来进入后台

问题6. 我放在博客目录下的文件(如sitemap.xml、robots.txt)无法访问,访问之后跳转到了博客首页
解决方案:
IIS6 URL重写模块没有在重写规则中提供对url是否为真实文件的判断支持, 所以无论当前访问的url是否为真实文件或目录都会被重写到index.php,这就是为什么访问文件会跳转到博客首页的原因,其他的服务器如Apache、Nginx等在重写模块中都提供了判断文件的接口,所以不会有这个问题.由于无法重写模块无法支持文件、文件夹判断,所以我们只能手动的在规则里面增加你需要访问的文件和文件夹来达到让其可以被访问的目的。
下面我简单的讲一下添加规则教程:
标准的IIS6重写规则如下:
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteRule /robots.txt(.*) /robots.txt$1 [L]
    RewriteRule /rss.php(.*) /rss.php$1 [L]
    RewriteRule /tb.php(.*) /tb.php$1 [L]
    RewriteRule /favicon.ico /favicon.ico [L]
    RewriteRule /xmlrpc.php(.*) /xmlrpc.php$1 [L]
    RewriteRule /wlwmanifest.xml /wlwmanifest.xml [L]
    RewriteRule /(t|m)$ /$1/ [R]
    RewriteRule /(admin|content|include|t|m)/(.*) /$1/$2 [L]
    RewriteRule /install.php(.*) /install.php$1 [L]
    RewriteRule /emlog_toolkit.php(.*) /emlog_toolkit.php$1 [L]
    RewriteRule /up(\d.\d.\d)to(\d.\d.\d).php(.*) /up$1to$2.php$3 [L]
    RewriteRule ^/$ /index.php [L]
    RewriteRule /(.*) /index.php/$1 [L]

增加文件的规则很简单,格式为:

RewriteRule /(文件路径) /(文件路径) [L]

上面规则中的(文件或文件夹路径)指的是从你网站根目录算起的文件路径
拿问的最多的sitemap.xml为例,web路径为http://localhost/sitemap.xml,我们在规则中增加一条关于sitemap.xml的规则,
因为sitemap在网站根目录,那么规则应该写为:

RewriteRule /sitemap.xml /sitemap.xml [L]

增加文件夹的规则稍微复杂点,格式为

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片

今日头条

更多>>

推荐图文

  • Emlog留言本图文教程
  • Windows下IIS配置固定链接设置(伪静态)方法
  • emlog加入新浪sae应用商店
  • 个别EMLOG博客空间目录可写却不能上传文件的解释
  • windows下emlog调试环境配置指南,常见配置问题解答
  • Emlog常见问题汇总
  • Emlog相册插件安装使用和常见问题
  • [emlog辅助工具]emlog工具箱v1.6.1(附下载)
  • emlog4.1.0功能预览
Alexa - 客户服务 - 联系方法 - 招聘信息 - 友情链接 - 网站地图 - TAG标签 - RSS订阅
Copyright © 2010-2012 JZQ8.COM. 建站吧|建站去吧 版权所有
冀ICP备09002514号
冀ICP备09002514号 网络报警 企业法人营业执照 中国互联网协会 支付宝付款 网银在线付款