2012-09-03 33 views
0

我有以下重寫規則:的.htaccess控制文件rewritting規則

RewriteRule ^api/(.*)? api/api.php [QSA,L] 

所以如果URL http://www.test.com/api/ ...,它會被重新路由到API文件夾中的文件api.php。這工作。

但是,我想添加另一個規則,如果url是http://www.test.com/second_api/ ...將重新路由到api文件夾內的文件second_api.php。我沒有那個工作。

 RewriteRule ^second_api/(.*)? api/second_api.php [QSA,L] 
     RewriteRule (.*)/second_api/(.*)? api/second_api.php [QSA,L] 
     RewriteRule ^/second_api/(.*)? api/second_api.php [QSA,L] 

要麼它是錯誤的網址或它保持重新路由到api.php。我想用新添加的規則重新路由到second_api.php。

回答

1

您需要添加一個檢查,否則您的第一條規則被再次應用:

RewriteCond %{REQUEST_URI} !second_api\.php 
RewriteRule ^api/(.*)? api/api.php [QSA,L] 

RewriteRule ^second_api/(.*)? api/second_api.php [QSA,L]