2

.htaccess ファイルを使用して、4 つの数字 (2012 など) で始まるディレクトリ内のサブフォルダーとサブファイルへのすべての要求を別のディレクトリにリダイレクトしようとしています。

例えば、

/results/2005-09-19-xxx/* to /event/2005-09-19-xxx/*

/results/2005-09-20-file.ext to /event/2005-09-20-file.ext 

だがしかし

/results/anything-else/*

私が見たドキュメントから、RewriteCond に続いて RewriteRule を使用する必要があると思います。最初の 4 つの数字を一致させ、リダイレクトされたリンクでそれらを引き続き使用する方法を見つけるのに苦労しています。

この問題の解決策を見つけるのに何時間も費やしました。助けやアドバイスをいただければ幸いです。ありがとうございました。

4

2 に答える 2

1

書き換え条件は実際には必要ありません。次の書き換えルールを試してください。

RewriteRule ^results/([0-9]{4}.*)$ /event/$1 [L,QSA]
于 2012-08-18T20:10:02.500 に答える
0

これでうまくいくはずです:

RewriteRule ^result/([0-9]{4})-([0-9]{2})-([0-9]{2})(.+)$ event/$1-$2-$3$4 [L]

このパターンは次のとおりです。4 つの数字ダッシュ 2 つの数字ダッシュ 2 つの数字の残り。必要に応じて後で簡単に理解して操作できるように記述されています。パターンに適合するものはすべて書き換えられます - 残りは通常どおりに機能します

例:

result/2012-02-02-abcd.ext

パターンに適合し、に書き換えられます

event/2012-02-02-abcd.ext
于 2012-08-18T19:50:04.980 に答える