Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 将条件和规则重写到交换机端口_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 将条件和规则重写到交换机端口

Apache 将条件和规则重写到交换机端口,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我们在端口81的服务器上安装了webmail,并且www.example.com:81/webmail/将适用于服务器上的任何域。但是,我们希望将输入www.example.com/webmail/的用户重定向到端口81 它需要适用于所有域,因此www.example2.com/webmail/应该重定向到www.example2.com:81/webmail/ 我已经尝试了以下方法,但可以重定向所有内容-如何将/webmail目录请求附加到条件中 RewriteCond%{HTTP_HOST}

我们在端口81的服务器上安装了webmail,并且www.example.com:81/webmail/将适用于服务器上的任何域。但是,我们希望将输入www.example.com/webmail/的用户重定向到端口81

它需要适用于所有域,因此www.example2.com/webmail/应该重定向到www.example2.com:81/webmail/

我已经尝试了以下方法,但可以重定向所有内容-如何将/webmail目录请求附加到条件中

RewriteCond%{HTTP_HOST}^([^:]+)(:[0-9]+)?$
重写规则^http://%1:81/webmail[R,L]

(注意,我必须添加空格,因为我尝试提交时产生了一个错误)

此代码将位于/etc/httpd/conf.d中的.conf文件中,以防有任何区别

任何帮助都将不胜感激。谢谢。

你可以试试这个

RewriteEngine on

RewriteCond %{SERVER_PORT} !^81$
RewriteRule ^webmail/?$ http://%{HTTP_HOST}:81/webmail [R=301,L]

谢谢,这只不过是一个小小的改变。我在重写规则中添加了(.*)以使^(.*)webmail/?$-现在它很有用!