我期待在我的.htaccess文件来设置规则,以便以.php扩展名的文件都可以通过只用一个斜线替换扩展访问(/foo/bar/
将静默加载/foo/bar.php
)。以前,我发现this,这是我正在寻找的一种,除了它只改变/foo/bar.php
到/foo/bar
(注意没有结束斜线)。的.htaccess重写/富/酒吧/到/foo/bar.php
对于htaccess,我几乎是一个完全新手,用上面链接的代码调整大约30分钟后,没有产生大量的500 internal server error
s。我相信这是一个很简单的解决方案,但Google和试验和错误都没有给我带来任何结果。
任何人都可以看看上述文章中的代码(复制如下)并将其更改为/foo/bar/
将重写为/foo/bar.php
?
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule^%{REQUEST_URI}.php [L]
非常感谢!
这只是'404 Not Found'错误到处都是。 – Charles
对不起,''RewriteRule ^(。*)\。php $/$ 1 /'产生相同的结果。仍然只在每个页面上显示404 Not Found。 – Charles
你太快了......当我编辑第二个选项时,你测试了它。 :-)但是,为了确保你明白,你要求的是将'/ foo/bar.php'重写为'/ foo/bar /'。这并不意味着你只是隐藏了用户的“.php”部分,这意味着Apache实际上会尝试加载'/ foo/bar /'。如果你真的想运行bar.php脚本,但用户只看到bar /,那是另一个问题。 –