代码之家  ›  专栏  ›  技术社区  ›  naiquevin

htaccess apache中的模式重写似乎不起作用

  •  0
  • naiquevin  · 技术社区  · 14 年前

    我想逃跑 iJab 使用openfire服务器,它要求我将/http绑定请求重定向到localhost:7070/http bind。 我将ijab文件夹复制到文档根目录中,并在目录中的.htaccess文件中编写了以下代码

        AddDefaultCharset UTF-8
        Options +FollowSymLinks
        Options +Indexes
        Options +MultiViews
        RewriteEngine On
        RewriteRule /http-bind/ http://localhost:7070/http-bind/ [P]
    

    在httpd.conf中,它的allowOverride

    但当我运行它时,它会出错。用户名或密码错误,但firebug控制台在ajax post请求中显示404错误

    http://localhost/http-bind
    . 所以我怀疑它是否被重定向了。有没有什么方法可以检查htaccess是否被实际使用?

    另外,我没有使用任何虚拟主机,apache服务器和openfire服务器的服务器名都是localhost,地址是127.0.0.1。因为openfire管理员在9090端口上工作得很好,而http绑定的端口是7070

    这是原因吗?

    寻找一些想法

    3 回复  |  直到 9 年前
        1
  •  1
  •   Gumbo    14 年前

    对于.htaccess,需要从模式中删除本地路径前缀:

    RewriteRule ^http-bind(/.*)?$ http://localhost:7070/http-bind/ [P]
    
        2
  •  0
  •   Ignacio Vazquez-Abrams    14 年前

    你使用的规则结尾有斜线,但你使用的url没有斜线。

        3
  •  0
  •   Ravi K Thapliyal    9 年前

    http绑定的链接应该放在示例文件夹的索引文件中,而不是放在htaccess文件中,如下面的snipet所示。htaccess文件没有被真正访问。希望这有助于

    $(document).ready(function() {
        Candy.init('http://bosh.metajack.im:5280/xmpp-httpbind/', {
        core: {
            // only set this to true if developing / debugging errors
            debug: true,
            // autojoin is a *required* parameter if you don't have a plugin (e.g. roomPanel) for it
            //   true
            //     -> fetch info from server (NOTE: does only work with openfire server)
            //   ['test@conference.example.com']
            //     -> array of rooms to join after connecting
            //autojoin: true
        },
        view: { assets: '../res/' }
    });