我想知道在使用.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.hp/2013/Enero
在htdocs目录中,我有AllowOverridde选项,它的设置如下:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
但每当我尝试访问服务器文档根目录时,它都会给我一个内部服务器错误。也许有人能给我指明正确的方向,希望很快因为我很匆忙
Options MultiViews
将在没有mod_rewrite的情况下完成。使用"多视图"可以访问不带扩展名的文件。由于默认情况下,对于.php和其他脚本文件,AcceptPathInfo
为On,因此这也会起作用:
/abc/articles/2013/Enero
将转到/abc/articles.php,为其提供/2013/Enero
的PATH_INFO。