Ну, я снова застрял.Два дня чтения и снова, нашел несколько близких решений, но ничего не подходит, и все мои эксперименты провалились.
Это продолжение моего вопроса: здесь, в 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] и интегрировать его с моими рабочими правилами.Я полагаю, что правило будет вставлено между вторым и третьим правилами выше.
Я пробовал различные попытки (около 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]
Как видите, два дня чтенияи ничто не утонет для меня.Я попробовал несколько вариантов рабочих правил, которые у меня уже есть, но безрезультатно.
Разве я не могу просто каким-то образом извлечь 123456789 из устаревших URL-адресов .php и вставить его в мои существующие правила?
Спасибо за вашу помощь и объяснения до моего уровня co, я просто мог бы понять ...