.htaccess rewriteRule(./ index.php?page=projects&id=$1)

时间:2014-08-11 08:01:13

标签: apache .htaccess url mod-rewrite short

我尝试使用htaccess重写网址,但我有一些问题希望你能帮助我。

这是我的.htaccess文件的内容

RewriteEngine On  

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  

RewriteRule ^(.*)$ ./index.php?page=projects&id=$1

以下规则很有效,它会转换此网址:

peterboruplund.dk/?page=projects&id=projectname

到这个

peterboruplund.dk/projectname

但问题是我还希望能够只查看一个页面。就像我写这个网址一样:

peterboruplund.dk/?page=info

它应该转到名为" info"的页面,如下所示:

peterboruplund.dk/info

我的问题是如何同时实现这两个目标?

最好,彼得

1 个答案:

答案 0 :(得分:0)

您可以为/info添加另一条规则:

RewriteEngine On  

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?page=$1 [L,QSA,NC]

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^(.+)$ index.php?page=projects&id=$1 [L,QSA]