さて、私は再び立ち往生しています。2 日間の読書と再び、いくつかの近い解決策を見つけましたが、何も適合せず、私の実験はすべて失敗しました。
これは私の質問の続きです: here at stackoverflow
以下の 4 つのルールは、受信リンクを受け取ります。
http://somedomain.com/getme.pl?dothis=display&partnum=1234567
そしてそれを列福します。また、ユーザーはアドレス バーで適切なバージョンを使用できます。
http://somedomain.com/1234567
これが私の作業規則です。
RewriteRule ^([\s]*)$ /getme.pl [L] ## in case there is a space or nothing.
RewriteRule ^([0-9]*)$ /getme.pl?dothis=display&partnum=$1&rewrite [L]
RewriteCond %{QUERY_STRING} partnum=([0-9]*)$
RewriteRule (.*) /%1? [L,R=301]
うまく機能しますが、サイトへの古いリンクがいくつかあることを発見しました。
http://somedomain.com/oldversion.php?id=123456789
と
http://somedomain.com/oldversion.php?r=86this&id=123456789
id=[0-9] を取得して、作業ルールに統合したいと思います。ルールは、上記の 2 番目と 3 番目のルールの間に挿入されると思います。
私は次のようなさまざまな試み(約100!)を試みました:
RewriteRule ^(oldversion\.php)?([a-z]{1})=([a-z0-9]*)&([a-z]{2})=([0-9]*)$ /$4? [L]
RewriteRule ^(oldversion\.php)?([a-z]{2})=([0-9]*)$ /$3? [L]
ご覧のとおり、2 日間の読書で、私には何も沈み込んでいません。すでに持っている作業ルールのバリエーションもいくつか試しましたが、役に立ちませんでした。
古い .php URL から 123456789 をどうにか取り出して、既存のルールに貼り付けることはできませんか?
あなたの助けと私のレベルの共同説明に感謝します.私は理解できるかもしれません...