2010-01-14 182 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