首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用htaccess将带有/没有.php扩展的url重定向到index.php

使用htaccess将带有/没有.php扩展的url重定向到index.php
EN

Stack Overflow用户
提问于 2016-02-01 16:39:08
回答 2查看 1.1K关注 0票数 1

我使用谢泼茨非常基本的URL路由机制来路由我的页面,但是我遇到了一个文件扩展名的问题。

如果加载www.example.com/register,就会得到index.php,但保留URL。

但是,如果加载www.example.com/register.php,它不会将我发送到index.php,而是保留URL。怎么会这样?

这是我的.htaccess文件,适用于非扩展名:

代码语言:javascript
复制
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

我如何将这两者结合起来?我想把这两件都标记成蓝色..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-01 18:24:46

通过使用RewriteCondRewriteRule自己解决了这个问题。这就是我的.htaccess现在的样子:

代码语言:javascript
复制
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} /.+\.php [NC]
RewriteRule ^ index.php [QSA,L]

现在,我可以使用.php的路由机制将所有具有谢泼茨文件扩展名的URL重定向到自定义的404页面。

  • www.example.com/example.php -> 404page.php
  • Www.example.com/范本-> example.php

这是404页:

这是没有.php文件扩展名的页面

票数 0
EN

Stack Overflow用户

发布于 2016-02-01 16:53:35

要将所有外部php请求重定向到404,可以在.htaccess中使用以下规则:

代码语言:javascript
复制
RewriteCond %{THE_REQUEST} /.+\.php [NC]
RewriteRule ^ - [L,R=404]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35135644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档