对于不以dot html / php结尾的URL的RewriteRule

时间:2011-05-24 13:27:21

标签: apache mod-rewrite url-rewriting

我想重定向所有:

<a href="filename"></a>

<a href="get.php?filename"></a>

我已经开始

RewriteRule  !\.(html|php)$  /get.php?file=$1 [PT]

但它不起作用。

2 个答案:

答案 0 :(得分:6)

我已经在PHP 中测试了这个正则表达式它应该在mod_rewrite中工作但是我还没有测试它并且似乎也在mod_rewrite中工作:

RewriteRule ^(.+)(?<!\.php)(?<!\.html)$ /get.php?file=$1

规则将重写所有网址,但以 .php .html 结尾的网址除外。

答案 1 :(得分:1)

处理这个问题的最基本方法是:

RewriteRule ^(.*)$ get.php?file=$1 [QSA,L]

将重定向所有内容,将file设置为路径的值。