RewriteEngine On

# Redirect physical .php URLs to extensionless URLs (EXCEPT POST requests)
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]

# Internally route extensionless URLs to their .php equivalents
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

# Route /Home to index.php
RewriteRule ^Home$ index.php [L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php [NC]
RewriteRule ^index\.php$ /Home [R=301,L]

ErrorDocument 404 /404.php