我想要所有的要求 " forum.maximumtrainer.com"重定向到 " http://maximumtrainer.com:4567/" 我的实际论坛在哪里举办。
我尝试了很多htaccess代码但没有成功。 我可以正常重定向,但我希望URL始终保持" forum.maximumtrainer.com /..."而不是改为" maximumtrainer.com:4567 /.."
这是我当前的htaccess文件(第一个规则适用于论坛)
RewriteEngine on
#Just do a normal redirect, not hiding the new URL
RewriteCond %{HTTP_HOST} ^forum.maximumtrainer.com$ [NC]
RewriteRule ^(.*)$ http://maximumtrainer.com:4567%{REQUEST_URI} [R=301,NC,L]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
答案 0 :(得分:0)
要屏蔽它,您需要使用DNS。使用类似Fowarding with Masking
的内容。您需要在注册商处检查您的设置,以便通过屏蔽进行Fowarding。但通常不会显示URI
或者,如果要将请求转发到后端或其他服务器,则需要使用可在apache配置中启用的mod_proxy
和mod_proxy_http
。
ProxyPass / http://maximumtrainer.com:4567
ProxyPassReverse / http://maximumtrainer.com:4567
使用mod_rewrite
RewriteCond %{HTTP_HOST} ^forum.maximumtrainer.com$ [NC]
RewriteRule ^(.*)$ http://maximumtrainer.com:4567%{REQUEST_URI} [P,NC]
ProxyPassReverse / http://maximumtrainer.com:4567
注意:您不能在.htaccess中使用ProxyPass和ProxyPassReverse。它需要位于Apache配置或vhost文件中。
仅在.htaccess中使用[P]
标志
RewriteCond %{HTTP_HOST} ^forum.maximumtrainer.com$ [NC]
RewriteRule ^(.*)$ http://maximumtrainer.com:4567%{REQUEST_URI} [P,NC]