为了账号安全,请及时绑定邮箱和手机立即绑定

删除友好的URL的.php扩展名(明确写成)

/ 猿问

删除友好的URL的.php扩展名(明确写成)

PHP
慕侠2389804 2019-12-06 12:44:27

htaccess删除我网站文件的.php扩展名。


RewriteEngine on

RewriteBase /

RewriteCond %{SCRIPT_FILENAME} !-d

RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^(.*)$ $1.php [L,QSA]

现在,如果我去我的网站


www.mysite.com/home

工作正常,它重定向到home.php,但URL仍然友好。


但是如果我写这个URL:


www.mysite.com/home.php

已提供home.php,且URL不友好。


如何避免这种行为?我希望用户写www.mysite.com/home.php,URL栏中显示的URL是www.mysite.com/home


查看完整描述

3 回答

?
慕田峪4524236

您可以像这样从请求中删除.php


RewriteCond %{REQUEST_URI} ^/(.*).php$

RewriteRule ^(.*)$ %1 [L,QSA]


查看完整回答
反对 2019-12-06
?
慕码人8056858


RewriteEngine On

RewriteBase /


# remove enter code here.php; use THE_REQUEST to prevent infinite loops

RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP

RewriteRule (.*)\.php$ $1 [R=301]



# remove index

RewriteRule (.*)/index$ $1/ [R=301]


# remove slash if not directory

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} /$

RewriteRule (.*)/ $1 [R=301]


# add .php to access file, but don't redirect

RewriteCond %{REQUEST_FILENAME}.php -f

RewriteCond %{REQUEST_URI} !/$

RewriteRule (.*) $1\.php [L]


查看完整回答
反对 2019-12-06
?
凤凰求蛊

您还可以将以下代码放入.htaccess文件中:


options +multiviews

这是在当前目录中搜索可用的扩展名(我认为是.html,.htm和.php)。因此,例如,如果您请求/user它将查找user.php。


查看完整回答
反对 2019-12-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信