IIRF / .htaccess删除扩展名,但保留查询字符串

时间:2015-11-17 20:01:20

标签: php .htaccess mod-rewrite

我在较旧的服务器上使用Ionics Isapi Rewrite Filter,需要重写一些URL ...

我目前的规则是:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L,QSA]

这适用于URL之类的 http://www.my-site.co.uk/loginhttp://www.my-site.co.uk/contact

但是,如果我有http://www.my-site.co.uk/login?result=fail(例如),那么我只得到404响应。

我最初错过了'QSA',但添加它并没有帮助。

我试过了:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([^\.]+)$ $1.php?%1 [NC,L,QSA]

(来自htaccess remove .php and keep query string),以及以下各种组合:

RewriteCond %{REQUEST_FILENAME}.php -f

但没有成功。我已经浏览了StackOverflow上的大部分建议,但它们似乎都不起作用。 有没有人有任何想法?

0 个答案:

没有答案