正如标题所说 - 在我的托管上我做了.htaccess,其中包含:
RewriteEngine On
RewriteBase /
## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]
# add a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
所以只需简单地切断.php并将其替换为/(从/index.php替换为/ index /)。
然后我应该在我的HTML上做到这一点:
<base href="http://mydomainhere.com" />
有趣的是,之后我无法从PHP执行INPUT,SELECT等。 当我删除.htaccess时,它可以工作,所以...我找不到任何解决方案。