首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HTACCESS重写、删除.php并重定向一个规则而不是另一个规则

HTACCESS重写是指通过修改网站的.htaccess文件来实现URL重写和重定向的功能。.htaccess文件是一个用于配置Apache服务器的文件,它可以用来修改服务器的行为,包括URL重写、重定向、访问控制等。

HTACCESS重写可以通过RewriteRule指令来实现。在这个问题中,我们需要删除.php并重定向一个规则而不是另一个规则。具体的操作步骤如下:

  1. 打开网站根目录下的.htaccess文件(如果不存在,则创建一个新的文件)。
  2. 在文件中添加以下代码:
代码语言:txt
复制
RewriteEngine On
RewriteBase /

# 删除.php并重定向到另一个规则
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.php$ /$1 [L,R=301]

# 重定向到另一个规则
RewriteRule ^old-page$ /new-page [L,R=301]

上述代码中,第一部分是启用RewriteEngine和设置RewriteBase。第二部分是删除.php并重定向到另一个规则的代码,其中使用了RewriteCond来排除已存在的目录和文件,然后使用RewriteRule将请求重定向到去掉.php后缀的URL。第三部分是重定向到另一个规则的代码,将旧页面的URL重定向到新页面。

  1. 保存并上传.htaccess文件到网站根目录。

通过上述操作,当访问以.php结尾的URL时,服务器会自动删除.php并重定向到去掉.php后缀的URL。同时,当访问旧页面的URL时,服务器会将其重定向到新页面。

推荐的腾讯云相关产品:腾讯云CDN(内容分发网络),它可以加速网站访问速度,提高用户体验。产品介绍链接地址:https://cloud.tencent.com/product/cdn

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在CentOS 7上为Apache设置mod_rewrite

第3步 - 设置.htaccess文件 一个.htaccess文件允许指令的Apache,包括的限定RewriteRule,以每个域的基础,而不改变服务器的配置文件。...一个.htaccess文件可以容纳多个重写规则,但在运行时,Apache按照定义的顺序应用规则。...如果从地址栏中删除.html并重新加载页面,则会收到404 Not Found错误。Apache只能通过其完整文件名访问组件,但我们可以使用重写规则对其进行更改。...item=shoes&type=men 此匹配选项允许Apache评估多个模式,而无需为每个模式创建单独的重写规则。 示例1C:匹配字符集 但是,我们还要指定任何项目,而不是仅限制它到/shoes。...但是,我们希望将所有格式错误的网址重定向回主页,而不是错误页面。使用条件,我们可以检查所请求的文件是否存在。 RewriteCond %{REQUEST_FILENAME} !

5.5K00

【译】使用Apache的mod重写来保护你的C2 Empire

这意味着你可以配置你的重定向器(redirector),只允许你想要的流量传入你的C2服务器,并将所有不想要的流量重定向到你所选择的另一个目的地,比如说,那些对你的评估进行欺骗的网站。...这个站点允许你检查mod重写规则的语法,然后将其放置在a.htaccess。 注意:.htaccess文件应该被设置为644的Linux系统权限。 ?...如果我们的重定向器从一个浏览到它的IP的可疑事件反应者那里接受了任何无效的C2流量,会发生什么? ? 它们被重定向到我们在mod重写规则指定的站点(example.com)。看起来一切正常。...被重定向的 Comfoo 网络流量 注意:Sleight是一种“快速而直接”的配置脚本,用于在一个专门的重定向器VPS的初始设置。...如果你已经有一个使用自定义的mod重写规则集的Apache服务器,那么你最好使用Sleight将一个Empire通信配置文件转换为mod重写规则,然后自己将其添加到 .htaccess 文件中。 ?

1.7K50
  • Apache之Rewrite和RewriteRule规则梳理以及http强转https的配置总结(完整版)

    $ https://kevin.com/$1 [R=301,L] 第一个 301 很自然就是带 www 的跳转到新的 https 上面了,而下面的301重定向则是判断如果端口不是80的话,则进行重定向...比如: 在一个目录级规则中执行一个外部重定向时,你可能需要删除".www"(此处不应该出现".www")。...3.13) 'qsappend|QSA'(追加查询字符串) 此标记强制重写引擎在已有的替换字符串中追加一个查询字符串,而不是简单的替换。如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。...用PHP程序处理POST请求,而不是试图重定向一个帖子(这不太可能奏效)。 ...([a-z/]+)\.html$ $1.php [L] 这不是一个网页重定向,所以访问者是不可见的。让他作为一个永久重定向(可见的),将FLAG修改[R=301,L]。

    31.7K51

    Apache中 RewriteRule 规则参数介绍

    比如,在一个目录级规则中执行一个外部重定向时,你可能需要删除”.www”(此处不应该出现”.www”)。...‘qsappend|QSA'(追加查询字符串) 此标记强制重写引擎在已有的替换字符串中追加一个查询字符串,而不是简单的替换。如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。...通常,你还会希望停止重写操作而立即重定向,那么就还需要使用’L’标记。 ‘skip|S=num'(跳过后继规则) 此标记强制重写引擎跳过当前匹配规则之后的num个规则。...它可以模拟if-then-else结构:最后一个规则是then从句,而被跳过的skip=N个规则是else从句。注意:它和’chain|C’标记是不同的!...([a-z/]+)\.html 1.php [L]这不是一个网页重定向,所以访问者是不可见的。让他作为一个永久重定向(可见的),将FLAG修改[R=301,L]。

    12K30

    如何在Debian 9上使用mod_rewrite为Apache重写URL

    在下一步中,我们将设置一个.htaccess文件,我们将用它来定义重定向的重写规则。...第2步 - 设置.htaccess 一个.htaccess文件,允许我们修改我们的重写规则,而无需访问服务器配置文件。因此,.htaccess对Web应用程序的安全性至关重要。...实际上,官方Apache文档建议使用服务器配置文件,而不是使用.htaccess,因为服务器配置文件的处理时间更快。 但是,在这个简单的例子中,性能提升可以忽略不计。...您现在拥有一个可用于管理Web应用程序路由规则的.htaccess操作文件。在下一步中,我们将创建示例网站文件,我们将使用它们来演示重写规则。...例如,假设您希望将所有请求重定向到您站点上不存在的文件或目录,并将其重定向到主页,而不是显示标准的404 Not Found错误页面。

    5K95

    如何在Ubuntu 18.04上使用mod_rewrite for Apache重写URL

    在下一步中,我们将设置一个.htaccess文件,我们将用它来定义重定向的重写规则。...第2步 - 设置.htaccess 一个.htaccess文件,允许我们修改我们的重写规则,而无需访问服务器配置文件。因此,.htaccess对Web应用程序的安全性至关重要。...实际上,正式的Apache文档建议使用服务器配置文件,而不是用.htaccess来配置,因为Apache可以用这种方式更快地处理它。 但是,在这个简单的例子中,性能提升可以忽略不计。...您现在拥有一个可用于管理Web应用程序路由规则的.htaccess操作文件。在下一步中,我们将创建示例网站文件,我们将使用它们来演示重写规则。...例如,假设您希望将所有请求重定向到您站点上不存在的文件或目录,并将其重定向到主页,而不是显示标准的404 Not Found错误页面。

    4.4K11

    如何在Debian 8上使用mod_rewrite为Apache重写URL

    该模块允许我们以更干净利落的方式重写URL,将人们可读的路径转换为代码友好的查询字符串或根据其他条件重定向URL。 本教程分为两部分。第一部分设置了一个示例网站,并介绍了一个简单的重写示例。...在下一步中,我们将设置一个.htaccess文件,我们将用它来定义重定向的重写规则。...第二步 - 设置.htaccess 一个.htaccess文件,允许我们修改我们的重写规则,而无需访问服务器配置文件。因此.htaccess对Web应用程序的安全性至关重要。...注意:您可以将.htaccess文件中的任何规则直接放入服务器配置文件中。实际上,正式的Apache文档建议使用服务器配置文件而不是.htaccess,因为Apache可以以这种方式更快地处理它。...例如,假设您希望将所有请求重定向到您站点上不存在的文件或目录,并将其重定向到主页,而不是显示标准的404Not Found错误页面。

    4.4K20

    如何在Ubuntu 14.04上为Apache设置mod_rewrite

    sudo service apache2 restart 第3步 - 设置.htaccess 在本节中,我们将设置一个.htaccess文件,以便进行更简单的重写规则管理。...一个.htaccess文件可以让我们修改我们的重写规则,而无需访问服务器配置文件。因此,.htaccess对Web应用程序的安全性至关重要。文件名之前的句点可确保隐藏文件。...sudo chmod 644 /var/www/html/.htaccess 您现在有一个操作.htaccess文件来管理Web应用程序的路由规则。...如果您愿意,可以在结果路径中设置示例文件,但本教程不包括创建HTML和PHP文件; 只是重写的规则。...例2A:默认页面 在假想的管理面板中,我们可能希望将所有格式错误的URL指向主页,而不是用404问候用户。使用条件,我们可以检查所请求的文件是否存在。

    2.4K00

    关于伪静态的实现方法

    /conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,查看前面的”#”号是否已删除,没有删除的,直接删除即可。...(2)首先创建一个”htaccess.txt”,然后进入cmd命令行窗口,通过cd切换到”htaccess.txt”文件所在的目录,然后输入命令:rename htaccess.txt .htaccess...4.rewrite规则学习 我们新建一个.htaccess文件之后,就在里面写入以下内容: RewriteEngine on RewriteRule ([0-9]{1,})$ index.php?...id=$1 RewriteEngine为重写引擎开关on为开启off为关闭 RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束...action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,以此类推!! 我们写一个处理的PHP脚本:index.php <?

    1.3K40

    Apache URL重定向配置专题

    id=$1 针对apache服务器下的某一指定目录的重定向配置 另一种是针对apache服务器下的某一目录的配置,此种配置的Rewrite规则需在此目录下建立一个.htaccess文件来书写...id=$1 [R] #示例二 RewriteEngine on #当我们访问的地址不是以www.163.com开头的,那么执行下一条规则...5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。 6) N 重新从第一条规则开始运行重写过程。...7) C 与下一条规则关联,如果规则匹配则正常处理,以下修正符无效 8) T=MIME-type(force MIME type) 强制MIME类型 9) NS 只用于不是内部子请求...http://www.jb51.net/article/24435.htm (Good)使用.htaccess实现apache URL重定向 https://www.cnblogs.com/itshark

    1.9K30

    .htaccess文件的华点

    并将php配置中的解释器配置engine打开,(如果关了的话会直接显示出php的源码),至于具体的配置可以看下面的.htaccess 常见指令部分 如果directory而不是FilesMatch的话那么配置就会在指定的目录生效...强制执行指明的MIME类 PT Passthrough 将重写后的URL地址传递给另一个Apache模块进行进一步处理 E Env 设置环境变量 标签标记: 标记 含义 描述 R...Redirect 发出一个HTTP重定向 F Forbidden 禁止对URL地址的存取 G Gone 标记URL地址不存在 P Proxy 将URL地址传递给mod_proxy L Last 停止处理接下来的规则...N Next 再次重第一个规则开始处理,但是使用当前重写后的URL地址 C Chain 将当前的规则和紧随其后的规则链接起来 T Type 强制执行指明的MIME类 NS Nosubreq 只在没有任何内部子请求执行时运行本脚本...NC Nocase URL地址匹配对大小写不敏感 QSA Qsappend 在新的URL地址后附加查询字符串部分,而不是替代 PT Passthrough 将重写后的URL地址传递给另一个Apache

    1.5K30

    Apache Rewrite配置url重定向功能教程

    id=$1    另一种是针对apache服务器下的某一目录的配置,此种配置的Rewrite规则需在此目录下建立一个.htaccess文件来书写。...(3)在目录中建立.htaccess文件,并用记事本打开,书写如下规则:   RewriteEngine on   RewriteRule ^/t_(.*).html$ /test.php?....*) http://www.163.com/ [L] 4.Apache Rewrite规则修正符   (1)R 强制外部重定向   (2)F 禁用URL,返回403HTTP状态码。   ...(5)L 表明当前规则是最后一条规则,停止分析以后规则的重写。   (6)N 重新从第一条规则开始运行重写过程。   ...(7)C 与下一条规则关联    如果规则匹配则正常处理,以下修正符无效   (8)T=MIME-type(force MIME type) 强制MIME类型   (9)NS 只用于不是内部子请求

    2.3K20

    NginxApache之伪静态设置 - 运维小结

    伪静态缺点:1)如果流量稍大一些使用伪静态就出现CPU使用超负荷,因为伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病...伪静态就是利用apche,nginx重写规则,对url地址重写实现的!...,将目录的每一个条目逐个删除(unlink),需要循环重复操作很多次; rsync删除内容时,建立好新的空目录,替换掉老目录,基本没开销。...左右,第二次9s左右;rsync测试两次9s左右 50万文件rm删除报错;rsync测试两次一个5分左右,一个4分左右 rm删除命令...下面是一个实例: 在使用.htaccess文件的目录下新建一个.htaccess文件,如下面一个Discuz论坛目录: # vim /var/www/html/jb51/bbs/.htaccess rewrite

    12.5K61

    如何在Ubuntu 14.04上使用Apache将www重定向到非www

    虽然有多种方法可以设置,但为了保持一致性和搜索引擎优化考虑,最佳解决方案是选择您喜欢的域名,简单或www,并将另一个域重定向到首选域。...我们还将向您展示如何从另一个方向重定向,从非www URL到www。 准备 一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。...前缀,并重定向到您喜欢的域。...首先,使用以下命令启用mod_rewrite模块: sudo a2enmod rewrite 启用Rewrite模块后,我们可以使用.htaccess文件为Apache配置重定向规则。...我们现在添加我们的重写规则。 配置重写模块 如前所述,我们将使用.htaccess文件配置Rewrite模块。

    3.5K00

    Apache URL重写规则

    这时再次进行处理的URL已经不是原始的URL了,而是经最后一个重写规则处理的URL。它对应于Perl中的next命令或C语言中的continue命令。...比如,在执行一个外部重定向时, 对一个目录级规则集,你可能需要删除“.www” (此处不应该出现“.www”的)。...qsappend|QSA (追加请求串 query string append)   此标记强制重写引擎在已有的替换串中追加一个请求串,而不是简单的替换。...它可以实现一个伪if-then-else的构造: 最后一个规则是then从句,而被跳过的skip=N个规则是else从句. (它和’chain|C’标记是不同的!)...4、例子解析 例1(简单例子): (在.htaccess里进行规制重写) RewriteEngine ON RewriteRule ^user/(w+)/?$user.php?

    3K40

    Thinkphp框架的项目规划总结和踩坑经验

    那么就应该屏蔽整个代码项目的文件的直接访问,而不只是TP官方文档所说的只是保护模板文件,所以直接在 项目/Application/ 目录下放置一个 .htaccess 文件,写上下面的内容 #项目目录屏蔽所有没经过入口文件...RewriteEngine On #设置用户端的重写规则,入口文件index.php,隐藏index.php RewriteCond %{REQUEST_FILENAME} !.../$1 [QSA,PT,L] #设置移动端的重写规则,入口文件mobile.php,隐藏mobile.php RewriteCond %{REQUEST_FILENAME} !.../$1 [QSA,PT,L] #设置管理端的重写规则,入口文件admin.php,隐藏admin.php RewriteCond %{REQUEST_FILENAME} !...方法,使用 $this->success('登录成功', 'Index/center'); 是会生成 Index/center ,浏览器就识别跳转到了 /User/Index/center,导致404,而不是

    2.5K20
    领券