Apache重写规则正则表达式问题

时间:2010-01-14 18:50:57

标签: regex apache .htaccess mod-rewrite

所以我有一个包含这个的Apache .htaccess文件:

RewriteEngine On
RewriteRule ^/(javascript/.*)$ /$1 [L]
RewriteRule ^/(styles/.*)$ /$1 [L]
RewriteRule ^.*$ /index.php

不幸的是,最后一行咳嗽了我们已经将代码移动到服务器上的500错误。它在我的机器上工作正常,Ubuntu 9.10运行Apache 2.2.12,但在运行Apache 2.2.14的服务器上没有。

有没有办法重写它,以便服务器不会返回该错误?

1 个答案:

答案 0 :(得分:0)

以下变体可能有效

RewriteRule ^/.*$ /index.php
RewriteRule ^.+$ /index.php
RewriteRule ^(.+)$ /index.php
RewriteRule ^/(.*)$ /index.php

我知道这个,

RewriteRule ^(.+)$ /index.php/$1 [L,QSA]

在我的某些mediawiki网站上适合我。