【问题标题】:how to redirect from modules.php?name=News&file=article&sid=XXX to domain.eu/XXX?如何从 modules.php?name=News&file=article&sid=XXX 重定向到 domain.eu/XXX?
【发布时间】:2012-05-02 12:36:21
【问题描述】:

我想将所有带有 phpnuke 字符串 modules.php?name=News&file=article&sid=XXX(xxx 是一个数字)的 url 请求重定向到我的 domain-name.eu/XXX 。这怎么可能?

我试过了

RewriteCond %{QUERY_STRING} ^(.*&|)modules.php?name=News&file=article&sid=(&.*|)$  
RewriteRule ^(.*)$ %1domain.eu/%2 [L,R=301]

但它没有效果。错误在哪里?

我也不明白为什么这么简单

RewriteRule ^(.*)$ /modules.php?name=News&file=article&sid=$1 [L,R=301]

确实有效。有什么想法吗?

非常感谢您的帮助。

【问题讨论】:

    标签: .htaccess drupal redirect


    【解决方案1】:

    不知道为什么我会在 Drupal 问题中看到这一点。但是试试这个。

    RewriteEngine On
    RewriteCond %{REQUEST_URI}  ^/modules\.php$
    RewriteCond %{QUERY_STRING} ^sid=([0-9]*)$
    RewriteRule ^(.*)$ http://domain.eu/%1 [R=301,L]
    

    在大多数情况下,您无法匹配 URL 中 sid=(.*) 正则表达式部分之后的所有内容。 modules.php?name=News&file=article&sid=XXXmodules.php?sid=XXX&name=News&file=article 功能相同。

    http://www.simonecarletti.com/blog/2009/01/apache-query-string-redirects/学习

    【讨论】:

    • 谢谢!它被标记为drupal,因为它是一个drupal 安装和一个drupal .htaccess 文件。不幸的是,您建议的代码似乎没有任何效果。 RewriteCond 可能有问题吗?
    • 当我使用 RewriteCond %{REQUEST_URI} ^/modules\.php$ RewriteCond %{QUERY_STRING} sid=([0-9]*)$ RewriteRule ^(.*)$ domain.eu/%1 [ R=301,L] 在 sid=... 之前没有 ^ 条件匹配,但我被重定向到 domain.eu/XXX??name=News&file=article&sid=XXX
    猜你喜欢
    • 2010-12-21
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多