要在Apache中使用rewrite规则来包含端口的http_host,您可以使用以下代码示例:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} (.*):([0-9]+)$
RewriteRule ^(.*)$ http://%1:%2%{REQUEST_URI} [R=301,L]
这个规则将会检查HTTP_HOST是否包含端口号,如果是这样,它会将请求重定向到包含端口号的URL。例如,如果请求的URL是http://example.com:8080/page,则它将被重定向到http://example.com:8080/page。
请注意,这个规则只适用于通过HTTP请求的URL。如果您希望包含HTTPS请求的端口号,您需要创建一个类似的规则来处理HTTPS请求。
您可以将这些规则添加到您的VirtualHost配置块中,或者将其添加到.htaccess文件中,具体取决于您的配置。
希望这可以帮助到您!