2012-12-30 94 views
0

可以將這兩個.htaccess文件合併爲一個?他們處理兩個獨立的PHP應用程序,它們完全分開了漂亮的URL處理。之所以我想嘗試一個,是因爲mod_security引發錯誤,並完全忽略了我的第二個鏈中的.htaccess文件,但似乎沒有一個.htaccess文件的問題。我可以將這兩個.htaccess文件合併爲一個嗎?

所以,如果有人去/ blah,第一個應用程序處理漂亮的URL處理。但如果有人去/ members/blah,第二個應用程序處理漂亮的URL處理。但是,請注意-f和-d參數,我們將檢查實際文件或目錄路徑並允許這些路徑通過。

在根:

RewriteEngine On 
RewriteRule ^index\.php$ - [L] 
RewriteRule ^members$ /members/ [QSA,L] 
RewriteRule ^members/(.*)$ /memberapp/$1 [QSA,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

在/ memberapp:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /memberapp/index.php [QSA] 

EDIT 1:

所以,這裏的映射例子:

domain.com = domain.com/index.php 
domain.com/ = domain.com/index.php 
domain.com/?test=test = domain.com/index.php 
domain.com/members/test.png = domain.com/memberapp/test.png (file exists) 
domain.com/members/dir1 = domain.com/memberapp/dir1 (directory exists) 
domain.com/members/dir1/ = domain.com/memberapp/dir1 (ditto) 
domain.com/test = domain.com/index.php 
domain.com/members/login = domain.com/memberapp/index.php 
domain.com/members/test.php = domain.com/memberapp/test.php (file exists) 
domain.com/dir1 = domain.com/dir1 (directory exists) 
domain.com/dir1/ = domain.com/dir1 (directory exists) 
domain.com/test.png = domain.com/test.png (file exists) 
domain.com/members/login?test=test = domain.com/memberapp/index.php 
+0

¿這兩種情況下的傳入URI如何?從規則看起來像'domain.com/members /'應該映射到'domain.com/index.php'和'domain.com/memberapp /'應該映射到'domain.com/memberapp/index.php',但是我我不擅長猜測。一些URI示例將有所幫助。 –

+0

@FelipeAlamedaA我將編輯我原來的帖子來解釋。 – Volomike

回答

1
RewriteEngine On 

RewriteRule ^index\.php$ - [L] 
RewriteRule ^members$ /members/ [R=302,L] 
RewriteRule ^members/(.*)$ /memberapp/$1 [QSA,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^membersapp/ /memberapp/index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
+0

由於新工作的時間限制,我需要一些時間來測試。不過,我會盡快檢查。 – Volomike

相關問題