使用get变量重写HTACCESS


HTACCESS rewrite with get variables

我有一个子目录,里面有一堆.php文件。HTACCESS可以干净地重写url。

RewriteEngine on
Options +FollowSymLinks
RewriteBase /mailing_list
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}'.php -f
RewriteRule ^(.*)$ $1.php

这很好,因为它会转动http://www.example.com/mailing_list/home看http://www.example.com/mailing_list/home.php

我还需要说明的是,一个为get变量使用干净url的页面。该页面名为w.php,它通过?i=(int)

当我尝试访问http://www.example.com/mailing_list/w/1我收到一个505服务器错误。我需要向我的htaccess添加什么才能对此进行解释?有没有一种完全证明的方式来解释我遇到的其他人。例如:

如果出现一个名为博客的页面,并且它像这样传递博客的ID,该怎么办http://www.example.com/mailing_list/blog/1

我需要为该页面添加一个新规则吗?

更换

RewriteRule ^(.*)$ $1.php

通过

RewriteRule ^([^/]+)$ $1.php [L,QSA]
RewriteRule ^([^/]+)/(.*)$ $1.php?i=$2 [L,QSA]