转发域并从URL中删除端口号

时间:2013-08-23 09:45:22

标签: php apache .htaccess redirect mod-rewrite

有了这个。 .htaccess code ,域名被转发到端口8000.问题是URL中的端口号。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^my\.subdomain\.com$ [NC]
RewriteRule ^(.*)$ http://my.subdomain.com:8000/$1 [R=301]

我现在正在寻找一种转发域名并从URL中删除端口号的方法。必须有PHP或PHP的解决方案。 .htaccess 是。 Web服务器和我的所有域都在端口80上运行,而端口号8000正在运行应用程序。

编辑和修改httpd.conf文件不起作用。它再次被覆盖。 :-(我的小屋确认了我

谢谢!

2 个答案:

答案 0 :(得分:1)

Apache以及ngnix中提供了Proxypass命令。我最近在这里使用相同的解决方案回答了一个不同的问题:https://serverfault.com/q/448733/261031并在我自己的网站上:http://joshwieder.blogspot.com/2014/12/apache-virtualhost-proxy-config-nodejs-tomcat.html但我还将使用您指定的端口号重现此示例:

<VirtualHost *:80>
    ServerName my.subdomain.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        AddDefaultCharset Off
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://my.subdomain.com:8000/
    ProxyPassReverse / http://my.subdomain.com:8000/
</VirtualHost>

请注意,使用此配置,无论是否使用端口号8000作为后缀,您都可以访问您的站点。

答案 1 :(得分:0)

尝试使用Nginx服务器轻松退出!

bellow是它的演示配置。

server {
listen       80;  
server_name  blog.ramki.com;  
rewrite_log  on;
error_log    logs/error_ramki.log   notice;
rewrite   ^/(.*)$   /department1/$1;   
location / {
proxy_pass http://127.0.0.1:8282;  
}
}

如需进一步参考,请访问This