似乎.htaccess apache中的模式重写无法正常工作

时间:2010-02-11 14:04:53

标签: apache .htaccess mod-rewrite openfire

我正在尝试使用Openfire服务器运行iJab,这需要我将/ http-bind请求重定向到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 all

但是当我运行它时,它会给出错误..用户名或密码错误但是firebug控制台在ajax发布请求上显示404错误

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

另外,我没有使用任何虚拟主机,apache服务器和openfire服务器的服务器名称都是localhost,地址是127.0.0.1。我这样做是因为openfire管理员在9090端口完美运行,http-bind的端口是7070

这可能是原因吗?

寻找一些想法

3 个答案:

答案 0 :(得分:1)

如果是.htaccess,则需要从模式中删除本地路径前缀:

RewriteRule ^http-bind(/.*)?$ http://localhost:7070/http-bind/ [P]

答案 1 :(得分:0)

您使用的规则最后会有斜杠,但您使用的网址却没有。

答案 2 :(得分:0)

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/' }
});