2010-01-14 132 views
0

所以,我有一个Apache .htaccess文件包含此:阿帕奇重写规则的正则表达式问题

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

不幸的是,最后一行的咳嗽是我们移动代码在服务器上500错误。它在运行Apache 2.2.12的Ubuntu 9.10上运行正常,但运行Apache 2.2.14的服务器上运行得并不正常。

有什么方法可以重写它,以便服务器不返回该错误?

回答

0

以下变化可能工作

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

我知道这一个,

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

很适合我一些我的mediawiki网站。

+0

“RewriteRule^/。* $ /index.php”和“RewriteRule^/(。*)$ /index.php”不会导致错误,但是他们没有做任何重定向url的操作。 – Matthew