【问题标题】:Rewrite condition and rule to switch port重写交换端口的条件和规则
【发布时间】:2014-02-16 21:54:41
【问题描述】:

我们在服务器的 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]+)?$
RewriteRule ^ http:// %1 : 81 /webmail [R,L]

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

此代码将位于 /etc/httpd/conf.d 中的 .conf 文件中,以防万一。

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

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    你可以试试这个

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

    【讨论】:

    • 谢谢,这只是一个小小的改变。我在重写规则中添加了 (.*) 以制作 ^(.*)webmail/?$ - 现在它很有魅力!
    猜你喜欢
    • 2013-04-24
    • 2011-10-02
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多