好吧,我又卡住了。两天的阅读,再一次,找到了一些接近的解决方案,但没有任何合适的,我所有的实验都失败了。
这是我的问题的延续: 在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]
如您所见,两天的阅读对我来说没有任何影响。我也尝试了我已经拥有的工作规则的几种变体,但无济于事。
我不能以某种方式从过时的 .php 网址中获取 123456789 并将其粘贴在我现有的规则中吗?
感谢您的帮助并解释到我的水平,我可能能够理解......