2012-01-15 9 views
0

htaccessファイルを使用してURLを別の場所にリダイレクトします。ここに私が書いたものだが、それは動作しません:htaccessのリダイレクトURLに問題があります

RewriteRule ^index.php?module=paper&func=view_abtract&code=([0-9]+) http://$1.papers.abstract.com [L,R=301] 

私は問題を発見してみてください...しかし、何も編集

は認められませんでした。

+0

modリライトがインストールされて有効になっていますか?それがインストールされていると仮定すると、これを書き換えルールの上に追加するRewriteEngine on –

+0

はい、私はhtaccessにいくつかの他のルールを持っています。 –

答えて

1

RewriteRuleでクエリ文字列を使用することはできません。代わりにこのコードを使用してください:

Options +FollowSymLinks -MultiViews 
RewriteEngine on 

RewriteCond %{QUERY_STRING} ^module=paper&func=view_astract&code=([^&]+) [NC] 
RewriteRule ^index\.php/?$ http://%1.papers.abstract.com? [L,R=301,NC] 
+0

しかし、あなたが書くのは、すべてのindex.phpをリダイレクトすると思います?****。私はindex.phpをリダイレクトする必要がありますか?module = paper&.... index.php?module = users .... –

+1

いいえ - *両方* 'RewriteCond'と' RewriteRule'条件が真でなければならないので、前者はクエリ文字列をチェックし、後者はURLをチェックします。 – Borodin

+0

申し訳ありませんがあなたの答えが間違っていた、私はそれをチェックしたが、新しいURLでクエリ文字列にリダイレクトする、私はそれを私に連れて行く意味:http://papers.abstract.com/?module=paper&func=view_astract&code=XX .I –