あるサイト言語/CMS (coldfusion/custom) から別の (PHP/Drupal) に移行しており、古いページの一部を新しいページにリダイレクトする必要があります。これは Linode の vps であるため、.htaccess と httpd.conf (および apache2.conf) の両方にアクセスできます。
それらのほとんどは正規表現 (URL に GUID が含まれている) では実行できず、静的リダイレクトを記述しても問題ありません。
次に例を示します。
RewriteRule /show.cfm/FG3f4-30F1G/ http://www.mysite.com/john-smith [R=301]
それだけです...開始キャレット^、終了ドル記号を使用して構文を試しましたが、どれも機能していないようです。
RewriteCond が果たす役割について誤解している可能性があります。.htaccess には既に他の行があります。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
RewriteRule を指定したら、RewriteCond を再宣言する必要がありますか?
また - 理想的には、.htaccess のクリーンさを維持するために、RewriteMap を使用したいと思います。ここでは、1 つのテキスト ファイルを指定し、「古い URL | 新しい URL」のタブ区切りの列を 2 つだけ持つことができます。それも機能しません(使用するのが適切である場合でも)。
どんなアイデアでも大歓迎です...