1

我有以下网站结构

index.php   
services.php   
contact.php   
/admin

以及 .htaccess 中的以下内容:

RewriteEngine on  
RewriteCond %{REQUEST_URI} !(\.[^./]+)$  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule (.*) /$1.php [L]  
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php\ HTTP  
RewriteRule ^(.+)\.php$ /$1 [R=301,L]  

这成功地整理了我的 URL 并指向正确的页面。

但是,它会阻止在管理员中执行任何功能,其中 $_POST 和 $_GET 被大量使用。

那么有没有办法阻止规则在 /admin 中执行或将其限制为仅在顶级页面中执行?

4

1 回答 1

1

只需RewriteEngine on在行之后添加此规则(在您的两个规则之前):

RewriteRule ^admin(/.*|)$ - [L]
于 2012-05-03T20:18:57.660 回答