0

我想将所有带有 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]

确实有效。有任何想法吗?

非常感谢您的帮助。

4

1 回答 1

0

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

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

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

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

于 2012-05-02T17:26:29.410 回答