0

少し問題があります。私のクライアントの 1 人が最近、PDF ファイルへの無効なリンクを含む一斉メールを 6500 人に送信しました。

リンクは単純でした: http://theirsite.com/pdf/thepdf.pdf%20

だから、有効なhttp://theirsite.com/pdf/thepdf.pdfファイルに htaccess を書き直せるようにしたいと思います。

これまでのところ、私が試したことはすべてうまくいきません。

これが私がこれまでに試したことです:

RewriteRule ^(/pdf/thepdf.pdf[%20|\s]+)$ /pdf/thepdf.pdf [R=301,L]

RewriteRule /pdf/thepdf.pdf([%20|\s]+)$ /pdf/thepdf.pdf [R=301,L]

RewriteRule /pdf/thepdf.pdf%20 /pdf/thepdf.pdf [R=301,L]

RewriteRule /pdf/thepdf.pdf%20 /pdf/thepdf.pdf [R=301,L]
RewriteRule /pdf/thepdf.pdf  /pdf/thepdf.pdf [R=301,L]

RewriteRule /pdf/thepdf.pdf(.+?) /pdf/thepdf.pdf [R=301,L]

ここで注意すべき点は、元のリンクをクリックして %20 を削除してスペースを入れると、書き換えが機能することです。

%20 では機能しません

4

2 に答える 2

2

これは .htaccess であるため、一致ルールの先頭に必須のスラッシュはありません。これを試して:

RewriteEngine On
RewriteRule ^/?pdf/thepdf\.pdf\s+$ /pdf/thepdf.pdf [R=301,L]

ノート:

  • /?これは、ホスト構成コンテキストまたは .htaccess コンテキストのいずれかでルールを機能させるための一般的な慣例であるため、一致ルールの先頭にa を配置しました。この/ルールがホスト構成にある場合は が必要になるためです。
  • .beforeをエスケープする必要があります。エスケープし.pdfないと、ワイルドカード マッチとして機能します。
  • これがリソース文字列全体と一致することを確認するために、一致の最初と最後にアンカー (^および) を追加しました$
于 2013-05-21T19:35:28.263 に答える