2014-04-01 73 views
1

我有一個重定向除了在3個特定的文件夾到PHP文件的URL它處理顯示頁面的任何URL一個htaccess:維護查詢字符串的htaccess重寫

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/app [NC] 
RewriteCond %{REQUEST_URI} !^/templates [NC] 
RewriteCond %{REQUEST_URI} !^/downloads [NC] 
RewriteCond %{THE_REQUEST} \ /+([^\ \?]*) 
RewriteRule (.*)$ ./app/index.php?url=%1 [L,B] 

的問題是,然而,任何查詢信息在URL中丟失。我想知道是否有可能保留這一點。

例如:

mysite.com/test?page=1 would become /app/index.php?page=1&url=test 

,而不是(也就是現在發生了什麼):

mysite.com/test?page=1 becomes /app/index.php?url=test 

回答

1

你只需要一個QSA標誌的位置:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/app [NC] 
RewriteCond %{REQUEST_URI} !^/templates [NC] 
RewriteCond %{REQUEST_URI} !^/downloads [NC] 
RewriteCond %{THE_REQUEST} \ /+([^\ \?]*) 
RewriteRule (.*)$ ./app/index.php?url=%1 [L,B,QSA] 

QSA(查詢字符串追加)標誌保留現有的查詢參數,同時添加新的參數。

+0

我知道這會是一件簡單的事情!非常感謝!!! :) – rcooper102

+0

不客氣,很高興它解決了。 – anubhava

+0

請考慮接受它,如果它爲你工作。 – anubhava