【问题标题】:htaccess rewrite url by matching part of the urlhtaccess 通过匹配部分 url 重写 url
【发布时间】:2014-04-04 09:43:52
【问题描述】:

我一直在摆弄我的重写规则,以涵盖被移动到不同域的域内容。原始域具有未被重定向的新内容。 我不希望从一个域到另一个域进行全面重写,因为我有其他格式被重定向并且需要单独保留新内容。 除了 1 批没有扩展名或参数的静态 url 之外,旧 url 被重定向没有问题。

旧网址格式:

http://olddomain/(variable string)-c2x(variable integers)

新的网址格式:

http://newdomain/(variable string)-c2x(variable integers)

唯一要匹配的常量是-c2x,所以我需要重定向所有匹配常量部分和通配符变量部分的url

我尝试了各种重写匹配组合,包括 (.)-c2x(.) 将 url 重写为 $1-c2x$2 但我显然失去了情节。

我应该遵循什么格式的规则?

谢谢

【问题讨论】:

    标签: apache .htaccess url-rewriting rewrite


    【解决方案1】:

    将此代码放入您的DOCUMENT_ROOT/.htaccess 文件中:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ [NC]
    RewriteRule ^.+?-c2x http://newdomain.com%{REQUEST_URI} [L,NC,R=301,NE]
    

    【讨论】:

    • 如果 url 包含 www 子域但不是没有子域,则此方法有效
    • 使用了这个,现在我已经排序了...我想...谢谢:RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC] RewriteRule ^.+?-c2x newdomain.com%{ REQUEST_URI} [L,NC,R=301,NE]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多