Mały, dirty code, ale działa – przynajmniej dla zmiany kilkuset regułek. Uwaga – czasem przydaje się na output dać sort -r , gdyż niektórzy naprawdę lubią utrudniać sobie życie dając RewriteRule wszystkiego na index.php – na samym początku :)
Konieczna jest mała zmiana nazwa-domeny na coś własnego – co może, ale nie musi występować :)
#!/usr/bin/env python
import sys, re, string
def replacer(str):
return str.replace('nazwa-domeny','/').replace('//','/').replace('$','')
if len(sys.argv) < 2:
print 'Usage: %s old-htaccess' % sys.argv[0]
else:
try:
f = open('%s' % sys.argv[1], 'r')
for l in f.readlines():
linia = l.split('\n')[0]
if re.search("(R|r)edirect", linia):
redir = linia.split(' ')
if redir[1] == '301':
try:
print 'rewrite ^%s$ %s permanent;' % ( redir[2], replacer(redir[3]))
except:
d =0
if re.search("RewriteRule", linia):
redir = linia.split(' ')
if re.search("\^", redir[1]):
print 'rewrite ^/%s %s last;' % ( redir[1].split('^')[1], replacer(redir[2]))
f.close()
except:
print 'Error with %s' % sys.argv[1]

