正则表达式用于将URL与包含点但不是静态文件的URL的查询字符串进行匹配?

时间:2014-09-04 10:44:55

标签: regex node.js url

我正在网上开发一个单页应用程序,只是在重定向到index.html以查找除静态文件请求之外的所有请求时发现异常。

这是我当前的配置

modRewrite(['^[^\\.]*$ /index.html [L]'])

这匹配不包含'。'的所有内容。 (句点)并将请求重定向到index.html。

问题是我是否要求这样的网址。

www.example.com/test?q=include.period

它不会将其重定向到index.html,因为它在查询字符串中包含一个点,并且它会认为这是一个文档类型为 .period 的静态文件。

我试图在任何问号之前获得不包含点的网址匹配,但无法使其正常工作。 它托管在NodeJS上。

我对正则表达式不是很了解所以任何帮助都会受到影响。

实施例

应匹配

  • /测试
  • /测试/ 123
  • /测试/1分之123
  • /测试/ 123/1〜Q =测试
  • /test/123/1?q=test.period

mot匹配(文件结尾可以是任何类型的文件)

  • /test.js
  • /img/123.jpg
  • /script/app.js?version=1.0

由于

1 个答案:

答案 0 :(得分:3)

你可以试试下面的正则表达式,

\/[^.\n]*?(?:=.*)?$

DEMO