2011-01-14 132 views
1

我沒有使用.htaccess太多。希望做這樣的事情:.htaccess if語句?

當domain.com/path用戶鍵入然後從domain.com/index.php/path/to/file

除非

某人被拉去domain.com/admin

如何可以在添加異常或if語句對於我不想重定向幾句話?

+1

對於url重寫規則,通常`RewriteCond`可以用作if。請參閱severfault:[你想知道的關於Mod_Rewrite規則的所有內容](http://serverfault.com/questions/214512/everything-you-ever-wanted-to-know-about-mod-rewrite-rules-but-were -afraid到問) – mario 2011-01-14 17:17:50

回答

5

將用於管理的規則改寫第一和使用[L]在最後告訴的.htaccess這是應該遵循的最後一條規則。然後,把你的其他規則放在後面。

例子:

RewriteRule ^admin(/?)$ - [L] 
RewriteRule ^(.*)$ /path/to/file.php?id=$1 

使用後-匹配規則意味着它不會重寫它,它會剛去時提供的路徑。

0

您需要添加RewriteCond規則以從重寫規則中排除內容。

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} !^admin 
RewriteCond %{REQUEST_URI} !^index.php 
RewriteRule ^(.*)$ /index.php/$1 [L]