使用 .htaccess 隐藏扩展名和变量

2023-12-02

如何隐藏文件的扩展名和GET变量通过.htaccess在一行?

此代码不起作用:

...
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^file-([0-9]+)\.php$ /some_directory/files.php?id=$1 [L]

Example:

http://www.example.com/file.php?variable=value

应该:

http://www.example.com/file


您需要在第一条规则中添加一些条件以防止其循环,您可以尝试将其更改为:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

然后继续你的第二条规则,它看起来很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 .htaccess 隐藏扩展名和变量 的相关文章

  • PHP 路由 - 样式表无效

    我用 PHP 创建了一个基本的路由系统 url 被分割成一个数组 这样我就可以根据 URL 决定显示什么 例如 www domain com page option param 因此 在我的index php 中 我为页眉 内容和页脚定义了
  • .htaccess php_value include_path 不起作用

    我在当地有一个小项目 我在 Windows 下使用 XAMPP 工作 我的文件目录结构是 根目录 C xampp htdocs routes Under this folder I have my bootstrap php with th
  • htaccess目录索引重定向寻找css错误的地方

    你好 在我的 htaccess 文件中 我放置了此代码以确保我的目录索引文件设置为 v2013 index html 所以我把这段代码 DirectoryIndex v2013 index html 然后我希望它看起来像 mydomain
  • 使用 htaccess 文件删除子域的 www

    我有许多特定于子域 的网站 http sub domain com http sub domain com http apple domain com http apple domain com etc 用户偶尔会抱怨该网站无法运行 然后我
  • ci url 是否可能不适用于index.php

    ci url 是否可能无法与index php 一起使用 我不想在url 中添加index php 如果有人在url中添加index php它应该不起作用 我已经尝试了很多方法 请给我建议 我已经尝试过 但不起作用 RewriteEngin
  • .htaccess 只允许访问包含文件

    我的网站上有各种子文件夹 我希望用户无法通过 URL 访问它们 但同时我的主要 PHP 文件能够包含它们或将它们用作表单或链接上的操作 我尝试使用 htaccess 与
  • .htaccess 中的“hash”url 重写

    我想重写http example com articles html first article with http example com articles first article 可以重写吗 我尝试使用以下但对我不起作用 Rewri
  • 在 htaccess 文件中使用 RewriteMap

    如何在 htaccess 文件中使用 RewriteMap 指令 当我把它放在那里时 我收到 此处不允许 RewriteMap 错误 我知道当将其放入 httpd conf 或虚拟主机配置文件中时 此错误将会消失 但我想知道是否可以将其放入
  • 将代码从 htaccess 重写为 nginx 配置?

    我在将 htaccess 文件中的重写代码实现到 nginx 配置中时遇到问题 我已经尝试过生成器 http winnginx com htaccess http winginx com htaccess用于生成我的重写 代码 我的ngin
  • if 不是 localhost 语句 htaccess

    我目前强迫访问者通过 https 访问我的所有网站 主要是 Wordpress 我使用以下代码 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME REQU
  • 如何在 .htaccess 文件中创建一个包罗万象的处理程序?

    我想在 htaccess 文件末尾创建一条规则 捕获在此之前未能匹配的所有内容 我怎样才能做到这一点 附 我已经尝试过一切 实际上 我没有 但看起来确实如此 Update 有些人的回复是RewriteRule 或同等内容 这不行 它将匹配一
  • htaccess 重写 url 删除子目录

    我正在尝试重写 http www example com directory folder to http www example com directory htaccess 文件位于directory 这是我的 htaccess 文件
  • 控制缓存过期

    通过 Google 网站管理员工具的 PageSpeed 分析器运行我的网页后 它向我报告我的资源没有被缓存 下面是我的 htaccess 文件中直接取自 H5BP 的代码 我是否正确地假设以下过期时间设置正确 但我的实现中出现了问题 或者
  • 使用 .htaccess 重定向到 404 错误的 php/html 文件

    例如 我想将所有 404 错误重定向到 404 php 我尝试过使用ErrorDocument 404 404 php在 htaccess 中 但如果运气不好 也许我的其他规则不允许这样做 我不太确定 因为我在 www 上找不到此信息 如果
  • .htaccess 将所有页面重定向到新域上的主页

    我将使用哪个重定向规则来重定向下的所有页面olddomain example被重定向到newdomain example 该网站的结构完全不同 所以我想要每一页在旧域名下重定向到新域名索引页 我认为这可以 在 olddomain examp
  • apache htaccess 将第一个段映射为参数而不干扰其他参数

    这可能是一个经典的 htaccess 问题 但我仍然找不到适合我的具体情况的问题 这是closest https stackoverflow com questions 9299793 apache httaccess rewriting我
  • Application.cpp 中的 SoftException:249:无法访问文件

    我有一个包含新闻消息的网站 而在我的 htacces文件我有这行代码 RewriteRule event 0 9 events php id 1 如果我访问 mysite com index event 1 我会得到一个500 intern
  • htaccess:删除扩展名,并重定向到index.php?p=

    RewriteRule a zA Z0 9 index php page 1 L 我之前的代码将 ex domain com about 重写为domain com index php page about 所以现在 我想添加一种安全措施
  • 阻止搜索引擎抓取目录

    我的网站有这样的 URL 最长 结构 http www example com xyz pqr abcd efgh 123 html http www example com xyz pqr abcd efgh 123 html 因此最多有
  • HTAccess LocationMatch 服务器错误

    我正在尝试使用这个 htaccess改变RewriteBase如果位置是本地或实时服务器 Options FollowSymlinks RewriteEngine on

随机推荐