我想知道在使用.htaccess时从网址隐藏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]
上面的第二条规则是因为我必须在提供这样的网址时保持PHP_INFO的可访问性:xxx / vision.php / 2013 / Enero
在htdocs目录中我有AllowOverridde选项,它设置如下:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
但每当我尝试访问服务器文档根目录时,它就会给我一个内部服务器错误。 也许有人能指出我正确的方向,并希望很快就会让我匆忙
答案 0 :(得分:0)
Options MultiViews
将在没有mod_rewrite的情况下完成。 MultiViews允许您在没有扩展名的情况下访问文件。并且因为AcceptPathInfo
默认为.php和其他脚本文件,所以这也会起作用:
/abc/articles/2013/Enero
将转至/abc/articles.php,为其提供/2013/Enero
的PATH_INFO。