我们有一个系统,基于Moodle的平台,在这里的文件是这样引用:在URL直接替换反斜杠反斜杠
的http:// [服务器] /file.php/3/LR4/info/ index.html的
现在,这个伟大的工程,但是我们的一些老师错误地使用落后的斜杠,则他们组织自己的部分,这意味着,有些页面是这样引用:
的http:// [服务器] /file.php/3/LR4\info\index.html
在我们是你的时候工作得很好唱歌的Windows服务器+ IIS。然而,然后我们切换到Linux + Apache,Apache似乎没有正确处理它们。换句话说,它不会显示放置在页面上的图像,因为它们的url是相对的,并且如果基本url包含反斜杠,Apache无法重建完整的URL。所以这个页面只是文本,没有图片。
如果我手动更换反向斜杠以在浏览器地址行中指向URL,则一切仍然正常。但是,我们有这样的页面太多。我们需要重写URL。我想到了Apache mod的重写。我基本上需要的是三行代码:
RewriteEngine on
RewriteCond %{THE_REQUEST} [???]
RewriteRule ??? [R]
我需要的是正则表达式的RewriteCond这将使发动机只是反应包含短语file.php的URL后,一些反斜线。而对于RewriteRule,我需要的东西是用直接替换至少一个反斜杠(使所有其他部分不变),然后再进行重定向。但我似乎无法构建正确的表达式 - 任何人都可以提供帮助吗?