我只是想知道htaccess mod重写正则表达式能够将包含空格的任何url重定向到相同的URL,但是替换空格的短划线。 例如
我希望它能重定向来自
的任何请求mysite.com/test/dl/1/the file name.html
到
mysite.com/test/dl/1/the-file-name.html
你有什么方法可以做到吗?
答案 0 :(得分:1)
是的,你可以,如果:
1)你硬编码这样的规则(意思是,你事先知道文件名):
RewriteRule ^test/dl/1/the\sfile\sname\.html$ /test/dl/1/the-file-name.html [R=301,L]
2)你可以使用RewriteMap和外部重写程序(Perl / bash / etc脚本) - 详见Apache's manual(但我个人认为这不是一个很好的选择)。
否则你必须以某种方式自己做(例如在你自己的网站脚本中)。