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で関数が実行されるのを防ぎます。

それで、ルールが/ adminで実行されるのを防ぐ方法、またはルールがトップレベルのページでのみ実行されるように制限する方法はありますか?

4

1 に答える 1

1

このルールを行の直後RewriteEngine on(両方のルールの前)に追加するだけです。

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