2011-09-30 136 views
1

我想重定向任何東西到我的index.php文件做我自己的重定向。任何重定向到一個PHP文件與URL重寫

如果我用這個:

#RewriteRule ^(.+)$ index.php?path=$1%{QUERY_STRING} [L] 

但是這不工作,因爲它是在規則的「循環」。

這工作:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?path=$1 [QSA,L] 
</IfModule> 

,但我想重定向,即使它是現有的文件或目錄(我的事情,我必爲圖像,JS等特價線路對他們的重定向用PHP無需加載任何腳本。

事實上,如果有一個「無環」標誌,這將是罰款。

任何人都知道該如何解決?

謝謝小號

回答

0

這是爲了避免循環的一種方法:

RewriteRule ^(?!index\.php)(.+)$ index.php?path=$1%{QUERY_STRING} [L] 

用途negative lookahead?!),看看是否字符串包括的index.php。如果沒有,那麼繼續進行重寫!

0

用支票的兩顆電導率模式,看看你打的index.php:

RewriteCond %{REQUEST_URI} !^index.php 
RewriteRule ^(.*)$ index.php?path=$1 [QSA,L] 

將重定向一切,除了上的index.php命中(防止環路)。

+0

工作得很好! – Leto