请求php文件而不指定扩展名.php

时间:2013-09-11 15:02:31

标签: php .htaccess mod-rewrite

例如,如果页面名称为request.php

我应该可以请求页面http://domain.com/request

我想知道怎么办?的.htaccess?或者其他一些措施,请举例说明。

请告知。

3 个答案:

答案 0 :(得分:2)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

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[\s?] [NC]
RewriteRule ^ %1 [R=301,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]

答案 1 :(得分:0)

RewriteRule ^(.*)$ index.php?query=$1 [L]

答案 2 :(得分:-1)

您可以在具有MultiView和mod_negotiation的服务器中全局启用此行为:

http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html

在centos(有plesk)你应该编辑:

/etc/apache2/sites-enabled/000-default 
Debian和Ubuntu系统中的

应该是:

/etc/httpd/sites-enabled/000-default