0

我想知道在使用 .htaccess 时从 url 隐藏 php 扩展的正确方法是什么。目前我的 .htaccess 是这样的:

RewriteCond %{REQUEST_FILENAME}.php     -f
RewriteRule ^(.+\.php)$/(.+)$/(.+)$/$   /$1.php/$2/$3 [S]
RewriteCond %{REQUEST_FILENAME}     !-f
RewriteCond %{REQUEST_FILENAME}     !-d
RewriteCond %{REQUEST_FILENAME}.php     -f
RewriteRule ^(.+)$          /$1.php [L,QSA]

上面的第二条规则是因为我必须在提供这样的 url 时保持 PHP_INFO 可访问:xxx/vision.php/2013/Enero

在 htdocs 目录中,我有 AllowOverridde 选项,它的设置如下:

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

但是每当我尝试访问服务器文档根目录时,它都会给我一个内部服务器错误。也许有人能够指出我正确的方向,希望很快就会因为我很着急

4

1 回答 1

0
Options MultiViews

无需 mod_rewrite 即可。MultiViews 让您可以访问没有扩展名的文件。并且因为AcceptPathInfo.php 和其他脚本文件默认为 On,所以这也可以:

/abc/articles/2013/Enero

将转到 /abc/articles.php,给它 PATH_INFO 的/2013/Enero.

于 2016-05-14T16:59:58.293 回答