ルート フォルダーの .htaccess がうまく機能しない理由を知りたいです。
.htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)(/[a-zA-Z0-9/]+)?$ /$1\.php$2 [L]
RewriteCond %{THE_REQUEST} ^GET\s/*pages/.*\.php [NC]
RewriteRule ^([a-zA-Z0-9]+)(/[a-zA-Z0-9/]+)?$ /$1\.php$2 [L]
RewriteCond %{THE_REQUEST} ^GET\s/*debates/.*\.php [NC]
RewriteRule ^([a-zA-Z0-9]+)(/[a-zA-Z0-9/]+)?$ /$1\.php$2 [L]
/ (メイン フォルダー) 内のリンクは .php の隠蔽が機能していますが、/pages/ や /debates/ などのサブフォルダーでは、システムは書き換えルールを認識しません。メインフォルダーに隠されているように、両方のディレクトリに.phpを隠したい。
私は解決策を見つけました!
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]