2012-05-02 9 views
0

phpnukeの文字列modules.phpですべてのURLリクエストをリダイレクトしたいのですか?name =ニュース&ファイル=記事& sid = XXX(xxxは数字です)をmy-name.eu/XXXにリダイレクトします。そんなことがあるものか?modules.phpからリダイレクトする方法は?name = News&file = article&sid = XXXからdomain.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] 

doenstの仕事を理解していません。何か案は?

ありがとうございました。

答えて

0

なぜ私は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/

+0

ありがとう!それはdrupalインストールとdrupal .htaccessファイルであるため、drupalというタグが付けられています。不幸にも、あなたが提案するコードは効果がないようです。 RewriteCondに何か問題がある可能性はありますか? – Nils

+0

iは するRewriteCondの%{REQUEST_URI}^/モジュールを使用\の.php $ するRewriteCond%{QUERY_STRING} SID =([0-9] *)$ するRewriteRule ^(。*)$ http://domain.eu =%1 [R = 301、L] ^の前にsid = ...条件は一致しますが、domain.eu/XXX??name=News&file=article&sid=XXXにリダイレクトされます – Nils

関連する問題