.htaccess端口重定向与Apache

时间:2010-02-10 22:03:13

标签: apache .htaccess mod-rewrite tcp-port

我想将http://www.mydomain.com/service重定向到http://www.mydomain.com:PORT,其中PORT是服务页面的服务端口。

  1. 是否可以给出正在侦听端口80的apache,以便执行重定向,这是一个无关的服务,正在监听PORT

  2. 语法是什么?我试过像:

    这样的东西

    RewriteRule ^service$ http://www.mydomain.com:PORT

    但我只收到500内部服务器错误。

  3. 感谢您的帮助。

    修改

    正如Vinko所说,错误日志中有一些有用的行:

    [alert] [client 192.168.1.4] /path/to/the/site/root/.htaccess:
     Invalid command 'Option', perhaps misspelled or defined by a module not
     included in the server configuration
    

    来自这条线:

    Option +FollowSymlinks
    

    现在它有效,但是...地址发生了变化,我不喜欢它。我希望与经典重定向具有相同的行为,其中地址更改是透明的(例如mydomain.com/service > mydomain.com/?var=service)。

2 个答案:

答案 0 :(得分:1)

500错误指出没有启用mod_rewrite。检查错误日志以测试理论,如果正确,则在配置中加载模块。

如果不正确,请使用日志中的错误编辑问题。每500个错误在错误日志中都有相应的行。

答案 1 :(得分:0)

您需要在指令末尾添加Redirect:

RewriteRule ^service$ http://www.mydomain.com:PORT [R]

使用正则表达式来使其工作。 :)