У меня тоже не было проблем. Но, судя по регулярному выражению, вашей проблемой, вероятно, будет жадность.
(.*)
соответствует как можно больше. Он будет перехватывать два URL-адреса одновременно, если они находятся в одной строке. Как правило, вместо этого вы хотите использовать (.*?)
или применить флаг неадекватности /U
.
Но в вашем случае я бы посоветовал просто сделать матч более конкретным:
/mydomain.com(\S*)image\/(\d+)\/(\S*).html/
Здесь \S
будет соответствовать только всему, что не является пробелом, потому что именно в этом месте URL должны быть разбиты. В качестве альтернативы вы можете использовать более специфический класс символов, например ([\w/.?&#%=-]*)
вместо .*?
.