1

とても簡単な作業のようですが、チュートリアルを読みすぎて何時間もできませんでした。助けてください..

リダイレクトする必要があります

http://example.com/myfolder/myfile.php?type=1&add=20

このアドレスへ:

http://example.com/newfolder/mytasks.xml

やりすぎました。私の最後の試みはこれでした:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^/myfolder/myfile.php?type=1&add=20$ /newfolder/mytasks.xml [R=301,NC,L]
</IfModule>
4

2 に答える 2

1

代わりに次のルールを使用してください。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+myfolder/myfile\.php\?type=1&add=20 [NC]
RewriteRule ^ /newfolder/mytasks.xml [R=301,L]

覚えて:

  • RewriteRuleの一致はスラッシュで始まりません/
  • RewriteRuleはクエリ文字列と一致せず、リクエストURIのみと一致します
于 2013-03-22T20:49:24.943 に答える
1

クエリもtype=1&add=20削除する場合は、次のように機能するはずです。

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING}  type=1&add=20                 [NC]
RewriteCond %{REQUEST_URI}   !/newfolder/                  [NC]
RewriteRule ^myfolder/myfile\.php  /newfolder/mytasks.xml? [R=301,NC,L]

リダイレクト:

http://example.com/myfolder/myfile.php?type=1&add=20

http://example.com/newfolder/mytasks.xml

サイレントマッピングの場合は、[R = 301、NC、L]を[NC、L]に置き換えます

于 2013-03-23T10:16:33.880 に答える