1
我有一个很奇怪的问题,在我的.htaccess重定向。htaccess返回引用返回没有值的某些匹配
我已经建立了的规则是:
RewriteRule ^([a-zA-Z0-9\-]*)/$ ?mode=book&permalink=$1
它既多字词组匹配:
http://www.fernwoodpublishing.ca/About-Canada-Youth-and-Children/
和单字词组:
http://www.fernwoodpublishing.ca/Kaandossiwin/
然而,当它确实匹配那些没有任何连字符的单词短语,反向引用没有正确传递。所以,在上面的例子中应该去
?mode=book&permalink=Kaandossiwin
这将正常工作,它,而不是去
?mode=book&permalink=
刚刚产生的错误和中断的东西整体转换。
我试过一种方法来解决这个问题,并没有任何东西似乎有帮助。任何更熟悉htaccess的人都会明白为什么在这些特定情况下没有返回引用。 (我已经用其他例子对它进行了测试,并且精确地经历了同样的问题,所以我确定它在所有情况下都是匹配的,但只在返回包含连字符的情况下返回回参考文件。
谢谢这么多!
谢谢杰森!不幸的是,我的客户请求了url结构 - 否则我会去/ book /子目录结构。它使事情有点棘手。我尝试了你的建议,但不幸的是它似乎完全打破了匹配。我不知道发生了什么问题了! – sarah 2011-05-17 22:17:05
尝试'^([\ w \ - ] +)/ $'。 – 2011-05-18 01:01:24
非常感谢,杰森!由于零匹配,在htaccess中发现另一行与此冲突。正则表达式我真的很糟糕! – sarah 2011-05-18 15:30:53