2011-04-06 64 views
1

我的主要網站使用PHP/Zend框架,並且是的.htaccess常見的有:與Alias指令mod_rewrite的衝突

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

現在我需要帶(在另一個目錄)座談會的主要場所。我在VirtualHost裏添加了一個Alias指令

Alias /forums "h:/projects/forums" 

論壇軟件使用它自己的.htaccess。主要網址/論壇是可訪問的,但不是其他網站。其他URL(沒有相應文件的URL)被轉發到主站點。換句話說,主站點(/)的.htaccess文件被選中,而不是/ forums目錄下的.htaccess文件。

回答

2

嘗試添加新的RewriteCond以告訴您的主要.htaccess文件忽略/forums下的請求。請求通過該文件後,它應該被/forums/.htaccess文件拾取,但我承認我不確定Alias是否影響到此文件。

的情況是這樣的:

RewriteCond %{REQUEST_URI} !^/forums [NC] 

這是說「只執行下一RewriteRule如果要求不符合/forums開始」。末尾的[NC]表示忽略/forums上的套管,因此如果請求實際上是/Forums/FORUMS,則無關緊要。