Apache为动态生成的URL重写正则表达式

Apache为动态生成的URL重写正则表达式,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在尝试对动态生成的url进行重写。我的问题是找不到正确的正则表达式语法来检查: 一个单词或者它可以是一个数字,然后是一个单词,或者它可以是一个数字,然后是一个单词,或者它可以是两个连字符的单词。我想知道是否需要为每个实例编写多次重写 这是我重写的一个例子和一些我需要比较的字符集的例子 RewriteRule ^search/strand/([???]+)$ ?p=search&strand=$1 经典、30剧院、45/50剧场、工作室/电影1、周五之夜 先谢谢你 我用这种语法对它进

我正在尝试对动态生成的url进行重写。我的问题是找不到正确的正则表达式语法来检查:

一个单词或者它可以是一个数字,然后是一个单词,或者它可以是一个数字,然后是一个单词,或者它可以是两个连字符的单词。我想知道是否需要为每个实例编写多次重写

这是我重写的一个例子和一些我需要比较的字符集的例子

RewriteRule ^search/strand/([???]+)$ ?p=search&strand=$1
经典、30剧院、45/50剧场、工作室/电影1、周五之夜


先谢谢你

我用这种语法对它进行了排序,但如果它能做得更好,我想知道,所以请发表意见

以我上面的例子来说,写的是一样的:

RewriteRule ^search/strand/([???]+)$ ?p=search&strand=$1
和正则表达式

  • 经典之作[a-z]+
  • 30剧院[0-9]+[\s]+[a-z]+
  • 45/50剧场[0-9]+/+[0-9]+[\s]+[a-z]+
  • 工作室/电影1[a-z]+/+[a-z]+[\s]+[0-9]+
  • 周五之夜[0-9]+[\s]+[a-z]+[\W]+[a-z]+
然后用|将它们链接在一起,这样得到的重写看起来像:

RewriteRule ^search/strand/([a-z]+|[0-9]+[\s]+[a-z]+|[0-9]+\/+[0-9]+[\s]+[a-z]+|[a-z]+\/+[a-z]+[\s]+[0-9]+|[0-9]+[\s]+[a-z]+[\W]+[a-z]+)$ ?p=search&strand=$1

我想知道您是否可以提供一个您尝试和/或需要的示例?至少提供您想要重写的示例URI。