у нас есть система, основанная на платформе Moodle, на которую ссылаются файлы следующим образом:
http://[server]/file.php/3/LR4/info/index.html
Теперь это прекрасно работает, однако некоторые из наших учителей по ошибке использовали обратные косые черты, а затем ониорганизовал их части, это означает, что некоторые страницы ссылаются следующим образом:
http://[server]/file.php/3/LR4\info\index.html
Это работало нормально, когда мы использовали Windows Server + IIS.Однако затем мы перешли на Linux + Apache, Apache, похоже, не справляется с ними правильно.Другими словами, он не отображает изображения, размещенные на странице, поскольку их URL-адреса являются относительными, и Apache не может восстановить полный URL-адрес, если базовый URL-адрес содержит обратную косую черту.Таким образом, страница - просто текст, без картинок.
Если я вручную заменю обратные косые черты на прямые в URL в адресной строке браузера, все по-прежнему работает нормально.Однако у нас слишком много таких страниц.Нам нужно что-то переписать URL.Я думал о Apache мод переписать.В основном мне нужны три строки кода:
RewriteEngine on
RewriteCond %{THE_REQUEST} [???]
RewriteRule ??? [R]
Мне нужно регулярное выражение для RewriteCond, которое заставит механизм реагировать только на URL-адреса, содержащие фразу file.php и некоторые обратные косые черты после этого.А для RewriteRule мне нужно что-то, что заменит хотя бы одну обратную косую черту на прямую (оставляя все остальное нетронутой) и сделает после этого редирект.Но я не могу построить правильные выражения - кто-нибудь может помочь?