htaccess url重写的问题,不能重写任何网址,但www到非www工作正常

时间:2012-01-05 20:11:55

标签: apache .htaccess

过去几天我遇到了麻烦,查找教程和其他人的例子(包括很多来自这个网站的内容),但我无法让它工作。

目前我的.htaccess文件如下所示:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301]

RewriteRule ^forside/([0-9]+)$ index.php?main=forside

我需要更改domain.dk/index.php?main=forside 到domain.dk/forside。

和domain.dk/index.php?main=article&id=10 到domain.dk/article/10

我查看了我的phpinfo()并且似乎无法找到有关服务器是否支持mod_rewrite的任何信息,但非www重定向的www工作完美,所以这就是我丢失的地方。

如果有人知道出了什么问题或我如何解决这个问题,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

forside 文章有两种不同的模式,因此您应该有两种不同的规则。

RewriteRule ^forside$ index.php?main=forside
RewriteRule ^article/([0-9]+)$ index.php?main=article&id=$1

如果要将它们压缩为一个,可以使用以下(未经测试)。但是,这并不像上面那么严格。

RewriteRule ^(forside|article)(:?/|/([0-9]+))$ index.php?main=$1&id=$2