我想将所有网址请求与phpnuke字符串modules.php?name = News& file = article& sid = XXX(xxx是一个数字)重定向到我的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]
开始工作。有什么想法吗?
非常感谢您的帮助。
答案 0 :(得分:0)
我不确定为什么我会在Drupal问题中看到这一点。但试试这个。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/modules\.php$
RewriteCond %{QUERY_STRING} ^sid=([0-9]*)$
RewriteRule ^(.*)$ http://domain.eu/%1 [R=301,L]
在大多数情况下,您无法匹配网址中sid=(.*)
正则表达式部分之后的所有内容。 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/