2010-02-11 87 views
0

我想运行iJab与Openfire服务器,这需要我重定向/ http-bind请求到localhost:7070/http-bind。 我复制了文件夹IJAB到我的文档根目录似乎在.htaccess apache模式重写不起作用

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

中写道.htaccess文件里面下面的代码在httpd.conf,其所有的AllowOverride

但是当我运行它,它给错误..用户名或密码错误,但萤火虫控制台显示404错误的AJAX请求

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

此外,我没有使用任何虚拟主机,Apache服务器和openfire服务器的服务器名称是localhost,地址是127.0.0.1。我认为这是因为openfire管理完美地在9090端口上工作,并且http绑定的端口是7070

这是原因吗?

寻找一些想法

回答

1

在.htaccess的情况下,你需要从你的模式中删除本地路径前缀:

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

谢谢..但仍然没有运气。你能否说明你的意思是“在.htaccess的情况下”..是否有其他的替代方案 – naiquevin 2010-02-11 14:13:45

+0

@naiquevin:如果你在像* .htaccess *这样的目录文件中使用mod_rewrite,它会在测试之前删除上下文路径前缀这些模式并在应用规则后追加它们(请参阅http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritebase)。这就是为什么前面的'/'在这种​​情况下是错误的。 – Gumbo 2010-02-11 15:31:00

0

你使用具有在最后一个斜杠的规则,但是你使用的URL不是。

+0

对不起,这是一个错误。该请求还具有尾部斜线 – naiquevin 2010-02-11 14:14:18

0

的链接,在HTTP绑定应放在example文件夹的索引文件,而不是在htaccess文件如图所示snipet below.the htaccess文件是不是真的被accessed.hope这有助于

$(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) 
     // ['[email protected]'] 
     //  -> array of rooms to join after connecting 
     //autojoin: true 
    }, 
    view: { assets: '../res/' } 
});