我有以下网站结构
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]
这会成功整理我的网址并指向正确的网页。
然而,它会阻止在管理员中执行任何功能,其中$ _POST和$ _GET被大量使用。
那么有没有办法阻止规则在/ admin中执行或限制它只在顶级页面中执行?
答案 0 :(得分:1)
只需在RewriteEngine on
行之后(在两个规则之前)添加此规则:
RewriteRule ^admin(/.*|)$ - [L]