我想重定向 http://www.mydomain.com/servicehttp://www.mydomain.com:PORT 在哪里 PORT 是将服务页面的服务的端口。

  1. 鉴于 apache 正在侦听端口,是否有可能 80 所以它将执行重定向,并且它是一个正在侦听的不相关服务 PORT?

  2. 语法是什么?我尝试过类似的东西:

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

    但我只得到一个 500 内部服务器错误。

谢谢你的帮助。

编辑:

正如 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 ).

有帮助吗?

解决方案

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

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

其他提示

您需要在指令末尾添加重定向:

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

使用正则表达式让它工作。:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top