简单的mod_rewrite不起作用

时间:2014-02-11 13:27:26

标签: php apache .htaccess mod-rewrite

我有点新用htaccess和mod重写

我按照自己的意愿获得了每个链接的工作,但是当我试图改变论坛的链接时,我有一个问题,一切都有点地狱......

这是我的代码

RewriteRule ^thread/([0-9]+)/([A-Za-z0-9]+)$ sidor/forum/showthread.php?threadID=$1&name=$2 [L]

当我尝试获得线程/ 1 /论坛时,它可以完美地运行,但是当我尝试获得这样一个更长的名字时 thread / 2 / cs-wont-work-for-me

htaccess给我一个错误404 ..

我的链接我改变所以(空格)得到 - 而åäö得到了aao

有谁知道问题是什么?

您需要更多代码吗?只是发表评论并告诉我,然后我可以尝试再给你一点。

2 个答案:

答案 0 :(得分:1)

thread/2/cs-wont-work-for-me不匹配,因为您只检查字母数字字符([A-Za-z0-9]+)。包括短划线以及要与正则表达式匹配的任何其他字符。这应该做你想要的:

^thread/([0-9]+)/([A-Za-z0-9\-ÅÄÖåäö]+)$

作为旁注,我真的可以推荐htaccess tester来调试这样的问题。

答案 1 :(得分:0)

您可以使用

RewriteRule ^thread/([0-9]+)/(.*) sidor/forum/showthread.php?threadID=$1&name=$2 [L]

不检查特定模式字符串的最后一个序列