我正在与第三方网站合作,该网站按名称而不是 url 缓存 wave 文件。我的系统中有很多同名但在不同目录中的波形文件,但是第三方站点在请求同名但在不同目录中的文件时播放了错误的文件。
因此,我想从 url 中删除斜杠 ('/') 并将其与字符串_dir_separator_结合使用,以使 wave 文件在整个系统中唯一。
如何重写 url,以便所有出现的 _dir_separator_ 在内部重写为斜线?
例如,请求此文件http://mysite/media_dir_separator_voice_scripts_dir_separator_script_en_v11.wav
应该选这个http://mysite/media/voice_scripts/script_en.wav
请注意,目录结构具有多级深度,因此无法重写固定数量的模式。
编辑:我改变了主意,希望使用连字符(-)而不是 _dir_sepator_ 字符串。重要的是,我需要它在不重写的情况下工作。
RewriteRule ^([^-]*)-([^-]*-.*) $1/$2 [N]
RewriteRule ^([^-]*)-([^-]*)$ $1/$2 [L]