在apache中编写RewriteRule时遇到麻烦

时间:2014-11-03 13:34:00

标签: php apache .htaccess mod-rewrite

我当前的网址与news/sometopics/newstitle.html类似。

我想要这样的网址sometopics/newstitle.html

为什么以下不起作用?

RewriteRule ^(.+/)(.+).html$ news/$1/$2.html

顺便说一下,我正在使用GoDaddy Apache服务器。这条规则:

RewriteRule ^search/$  admin/plus/search.php

工作正常。

1 个答案:

答案 0 :(得分:2)

第一条规则只匹配字母数字字符串,例如:titlenews123。我更喜欢通用匹配所有meta-char (.+)

RewriteRule ^([0-9a-z-]+)/([0-9a-z-]+).html$ news/$1/$2.html [L]

如果您的sometopicsnewstitle不仅是字母数字,您可以做(不鼓励)

RewriteRule ^([^/]+)/([^/]+).html$ news/$1/$2.html [L]