使用 Apache 进行 .htaccess 端口重定向
-
19-09-2019 - |
题
我想重定向 http://www.mydomain.com/service
到 http://www.mydomain.com:PORT
在哪里 PORT
是将服务页面的服务的端口。
鉴于 apache 正在侦听端口,是否有可能
80
所以它将执行重定向,并且它是一个正在侦听的不相关服务PORT
?语法是什么?我尝试过类似的东西:
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]
使用正则表达式让它工作。:)
不隶属于 StackOverflow