要请求的php文件,但不指定扩展名.php

要请求的php文件,但不指定扩展名.php,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,例如,如果页面名为request.php 我应该能够请求页面http://domain.com/request 我想知道怎么做。htaccess?或其他措施,请举例说明 请告知。您可以通过多视图和mod_协商在服务器中全局启用此行为: 在centos(带plesk)中,您应该编辑: /etc/apache2/sites-enabled/000-default 在Debian和Ubuntu中,系统应该是: /etc/httpd/sites-enabled/000-default 您可以通

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

我应该能够请求页面
http://domain.com/request

我想知道怎么做。htaccess?或其他措施,请举例说明


请告知。

您可以通过多视图和mod_协商在服务器中全局启用此行为:

在centos(带plesk)中,您应该编辑:

/etc/apache2/sites-enabled/000-default 
在Debian和Ubuntu中,系统应该是:

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

您可以通过MultiView和mod_协商在服务器中全局启用此行为:

在centos(带plesk)中,您应该编辑:

/etc/apache2/sites-enabled/000-default 
在Debian和Ubuntu中,系统应该是:

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

通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入
文档根目录下的
.htaccess

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]

通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入
文档根目录下的
.htaccess

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]

是的,你可以用.htaccess来做,如果你做一些搜索,你应该可以找到大约一千个例子。是的,你可以用.htaccess来做,如果你做一些搜索,你应该可以找到大约一千个例子。因为a)你假设apache b)你假设centos,c)你假设plesk。所有这些技术都不是在原始问题中引入的,因此,答复没有解决当前的问题。除此之外,答案实际上根本不起作用。悲伤的一天..htaccess通常是Apache,我已经为CentOS和基于Debian的系统编写了一个解决方案,该文件对于not-plesk系统也是一样的,但我不是100%确定,所以我指定了plesk,我的服务器有plesk。现在删除downvoteyour是另一个回复的副本,另一个回复太具体了,OP询问的是如何将beahvior应用于每个.php文件,而不仅仅是指定的文件。downvoteyour是因为a)您假定为apache b)您假定为centos,c)您假定为plesk。所有这些技术都不是在原始问题中引入的,因此,答复没有解决当前的问题。除此之外,答案实际上根本不起作用。悲伤的一天..htaccess通常是Apache,我已经为CentOS和基于Debian的系统编写了一个解决方案,该文件对于not-plesk系统也是一样的,但我不是100%确定,所以我指定了plesk,我的服务器有plesk。现在删除downvoteyour是另一个回复的副本,另一个回复太具体了,OP询问的是如何将beahvior应用于每个.php文件,而不仅仅是指定的文件。如果您的php文件名与目录相同,但上面有.php,那么只需删除以下行:
RewriteCond%{REQUEST_FILENAME}-d
并将
Options+FollowSymLinks-MultiViews
更改为
Options+FollowSymLinks-MultiViews-index
如果您的php文件名与目录相同,但上面有.php,则只需删除以下行:
RewriteCond%{REQUEST\u FILENAME}-d
并将
选项+FollowSymLinks-多视图
更改为
选项+FollowSymLinks-多视图-索引