如果存在任何查询字符串,则 .htaccess 重定向?

2023-12-11

我目前有以下 .htaccess 。

<IfModule mod_suphp.c>
 suPHP_ConfigPath /home/abc/php.ini
</IfModule>

RewriteEngine on
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

AuthType Basic
AuthName "Está dominado!!"
AuthUserFile "/home/abc/.htpasswds/public_html/passwd"
require valid-user

现在的问题是,如果在 / 之后找到任何查询字符串,我想删除该查询字符串。

所以: 如果我们有:

http://www.abc.com/?这里有什么234

它应该重定向到:

http://www.abc.com/

如果我们有:

http://www.abc.com/something/?id212

重定向至:

http://www.abc.com/something/

更新: 我试过这个:

TRY A)

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule .* /index.php/ [L,QSA]

希望 ^(.*)$ 将允许查询字符串上的任何内容......

我也尝试过这个:

TRY B)

RewriteCond 上的 RewriteEngine $1 !^(index.php|媒体|css|js|图像|robots.txt) RewriteCond %{QUERY_STRING} ^(.)$ 重写规则 ^(.)$ http://abc.com/ [L]

这将返回 500 内部服务器错误。

TRY C)

RewriteEngine on
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
#RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ http://abc.com/ [R=302,L]

我承认我对这个 .htaccess 语法有点迷失。

TRY D)

RewriteEngine on
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
RewriteCond %{REQUEST_URI} !^/
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ http://abc.com/ [R=302,L]

请指教, 模模


以下应该有效:

RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^ /index.php/? [L]
  1. 检查 QUERY_STRING 中是否有某些内容(您的也接受空字符串)
  2. 您的检查以防止无休止的重定向
  3. 重定向到您想要的任何地方。

来自 Apache 文档:

当您想要删除现有的 查询字符串,结束替换 仅带有问号的字符串

编辑(再次):作为外部重定向(如果您的应用程序中根本没有任何查询字符串,您甚至可能不需要第二个 RewriteCond):

这将告诉客户端请求相同的 URI,而不需要查询字符串。

RewriteEngine on

# redirect to same URI, but without query string
RewriteCond %{QUERY_STRING} .
RewriteRule ^ %{REQUEST_URI}? [R=301]

# CodeIgniter "magic"
RewriteCond $1 !^(index\.php|media|css|js|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果存在任何查询字符串,则 .htaccess 重定向? 的相关文章

  • 使用 .htaccess 阻止直接访问 Pdf 文件

    这个问题已经出现过好几次了 我已经尝试了所有可用的选项 但我仍然很难阻止使用绝对 URL 直接访问 pdf 文件 我在 htaccess 文件中使用以下代码 该文件位于 pdf 所在的同一文件夹中 Order Allow Deny
  • 配置 htaccess 以使用 Angular 和 PHP 路由

    我正在尝试使用 Angular 4 和 PHP 路由 但我无法配置它以便同时使用两者 我可以让它与其中之一一起工作 但不能同时与两者一起工作 这是我的文件夹结构 root index html vendor bundle js other
  • Apache 2.2 重定向到 SSL *然后* 进行身份验证(使用解决方案 < 但这是废话吗?)

    似乎是 apache 的地方 所以这里 老问题 如何重定向 HTTP gt HTTPS 然后且仅当 HTTPS 时才进行身份验证 哦 我希望其中的大部分内容都在一个片段中 可以包含在多个 或 块中 因此没有虚拟主机级别的基于随机路径的重写
  • 如何重写 URL 而不刷新,例如 GitHub.com

    我在浏览 GitHub com 时注意到 在查看存储库的源代码时 您单击一个文件 源代码会滑入 并且 URL 会发生变化 但页面看起来并没有刷新 有谁知道这是如何做到的 我见过使用 符号完成此操作 尤其是在创建 Flash 站点时 但我从未
  • URL 重写 OpenCart 产品 SEO

    我想重写我的 opencart 网上商店的产品网址 Opencart 本身有一个 seo 实现 这真的很糟糕 我已经更新了 seo 实现 以便能够对多个类别使用相同的关键字 请参阅 Opencart 重复 URL 关键字 https sta
  • 如何使用 .htaccess 为多个参数创建干净的 url

    这是我的 htaccess 代码 用于重写干净的 url Options FollowSymLinks MultiViews Turn mod rewrite on RewriteEngine On RewriteBase RewriteC
  • php:SEO 友好的 url

    我正在开发一个新项目 我想为这个网站创建 SEO 友好的 URL 例如 mysite com first content mysite com second content URL 必须是动态的 这意味着 URL 必须与内容标题相关 我怎样
  • 想要重定向除我之外的所有访问者

    基本上我即将开始在一个网站上工作 我想要一些可以添加到我的 htaccess 文件 或其他地方 中的内容 其工作方式如下伪代码 我的 ip 将代替 127 0 0 1 if visitors ip lt gt 127 0 0 1 redir
  • AH00124:由于可能的原因,请求超出了 10 个内部重定向的限制

    升级我的 Ubuntu 服务器后 我尝试打开我的 WordPress 网站 我在 error log 中收到此错误 AH00124 由于可能的配置错误 请求超出了 10 个内部重定向的限制 如有必要 请使用 LimitInternalRec
  • .htaccess HTTPS 主域和通配符 HTTP 子域 + 所有非 WWW

    Stack Overflow 上有很多类似的解决方案 例如htaccess http 到 https 带 www 不重定向子域 https stackoverflow com questions 30242495 htaccess http
  • htaccess 中的重写规则以匹配某些文件扩展名

    如何查找某些文件扩展名的实例 例如 jpg png css js php 如果没有匹配项 则将其发送到 index php route 1 我希望能够允许自定义用户名使用句点 所以 重写http example com my name ht
  • RewriteEngine On .htaccess 不起作用

    我正在尝试提出我的请求如何处理这样的文件 r login 但有像index php这样的服务器吗 r login 我正在使用的 htaccess 代码似乎不起作用 Options FollowSymLinks RewriteEngine O
  • 将 .htaccess 中的非 www 重定向到 www

    我的 htaccess 文件中有这个 RewriteCond HTTP HOST example com RewriteRule http www example com 1 R 301 L 但每当我访问根目录上的文件时 就像http ex
  • Apache HtAccess AddHandler 以服务器名或 ip 为条件

    我在 Site5 上托管我的临时和生产服务器 在我看来 Site5 是一个相对较好的托管商 问题不在于它们的质量 而在于与 PHP 版本相关的问题 我们的开发服务器使用的是 PHP 5 3 这是一个很好的版本 5 4 太新了 我们还不想使用
  • PHP、htaccess:在 URL 中应用页面标题

    我想在 URL 中应用页面 HTML 标题 例如 在这里 stackoverflow url 是这样的 http stackoverflow com questions 10000000 get the title of a page ur
  • htaccess mod 用可选斜杠重写

    我们正在从旧网站切换到具有更好 SEO URL 的新网站 我正在尝试这样做 RewriteRule products boots materialid colour http www mydomain com boots 2 1 R 301
  • 在apache中有条件地设置缓存头

    我想根据访问文件的路径有条件地设置缓存标头 基本上 访问http www example com cache cache key 应该为具有遥远未来缓存标头的文件提供服务 我使用重写规则来设置环境变量 然后尝试根据该变量设置缓存控制标头 然
  • 如何使用mod_headers和mod_expires进行缓存

    我想在我的网站上缓存图像和其他文件 所以我所做的是确保 mod headers 和 mod expires 具有 usr sbin httpd l 然后将 htaccess 编辑为 ExpiresActive On ExpiresDefau
  • 将 http 和 https 请求重定向到新主机

    在 Apache 2 4 6 中 我想重定向来自http A org foo and https A org foo to https B org foo 我正在使用以下指令
  • 为什么使用 LAMP 托管时避免使用 CGI for Python?

    我已经使用 PHP 多年了 最近我在论坛上看到很多帖子说PHP 已经过时了 现代编程语言更简单 更安全等等 所以 我决定开始学习Python 由于我习惯使用 PHP 因此我刚刚开始通过上传 htaccess 文件来构建页面 addtype

随机推荐

  • std::async 函数串行运行

    当在 for 循环中使用 std async 和 launch async 时 我的代码在同一线程中串行运行 就好像每个异步调用在启动之前都会等待前一个调用一样 在 std async 引用的注释中 std 异步 如果 std future
  • Android应用程序中的云端点身份验证失败

    我第一次尝试在 Google Cloud Endpoints android 应用程序中以调试模式使用身份验证时遇到了问题 我这样设置凭据 credential GoogleAccountCredential usingAudience t
  • PHP < 5.3.0 中的 DateTime::createFromFormat

    我正在寻找与以下相同的功能日期时间 createFromFormat但我需要它在运行早于 v5 3 的 PHP 版本的环境中工作 基本上我需要提供一种格式 就像您使用的Date 函数 然后我需要根据该格式解析 验证字符串 如果字符串格式正确
  • 将 busybox 推入 Android 模拟器

    我已经下载了 mips android 的源代码并完成了 make 并让模拟器运行 我想将 busybox 推入模拟器中 我已经下载了静态编译的 busybox 二进制文件 我应该将其放置在哪个目录下 我应该如何将 busybox 推送到模
  • 高效的笛卡尔积算法

    有人可以为我演示一种比我当前使用的算法更有效的笛卡尔积算法吗 假设有一个 我环顾四周并用谷歌搜索了一下 但看不到任何明显的东西 所以我可能会错过一些东西 foreach int i in is foreach int j in js Pai
  • 如何在build.gradle文件中添加OJDBC6.jar?

    我正在应用程序中连接到 Oracle Db 并尝试使用 gradle build 来构建应用程序 我无法从 gradle 构建访问 OJDBC6 jar 请有人告诉我 我们如何将 ojdbc6 jar 添加到 build gradle 文件
  • Jelly Bean webview 应用程序无法完美响应 touchend 事件

    我的 webview 应用程序与早于 Jelly Bean 的 Android 版本中的 touchend 事件配合得很好 但在 Jelly Bean 中 touchend 事件并不可靠 特别是在可滚动的 div 上 有时不会触发 touc
  • ANDROID:使用 strings.xml 背后的主要思想是什么?

    有人请解释一下使用的主要思想是什么字符串 xml 我认为这对于多语言支持很有用 但我们如何为此组织它呢 如果我不想在 Android 应用程序中使用多语言支持 我是否需要它 这个想法是 它代表各种字符串的单个位置 因此您的代码不会充斥着字符
  • window.blur() 不适用于 Firefox 4

    我有一个功能 激活后会在当前浏览器窗口下打开一个新窗口作为弹出窗口 它在所有过去版本的 IE 和 FF 上都工作得很好 现在它已经停止工作了 显然 Mozilla 更改了 FF 4 的一项设置来防止这种情况发生 http support m
  • React-leaflet 创建自定义组件

    我想使用react leaflet 创建一个自定义组件 显示鼠标的实际位置 x y 但我不知道如何创建它 我发现react leaflet control但好像不是最新的 当然我看了api文档https react leaflet js o
  • Laravel phpunit 总是 404

    环境 PHP 7 0 macOS apache 代码是 public function testBasicExample this gt visit 运行 phpunit 结果是 1 ExampleTest testBasicExample
  • 单击按钮时如何为网站上的所有链接添加下划线?

    经过一个小时的尝试和错误创建一个简单的脚本后 我向您寻求帮助 我想创建一个button 点击后会为所有添加下划线样式a网站上的选择器 我已经写了一个简单的函数 但不幸的是它不起作用 有大量的a整个页面的选择器 所以我不会发出整个页面的代码
  • Visual Studio 项目依赖项

    我有一个 Visual Studio Net 解决方案 其中有许多项目 库 当我在自己的 PC 上本地工作时 没有问题 因为我倾向于重新编译那些我刚刚更改的库 并且所有内容都是同步的 问题是有时其他开发人员偶尔需要处理或查看我的代码 但在重
  • 复制并粘贴到 DataGridView 单元格中 (C#)

    我需要能够从一个应用程序复制一个或多个名称 使用普通复制命令 然后能够双击 DataGridView 中的文本单元格将数据粘贴到网格单元格中 关于如何实现这一目标有什么想法吗 我正在尝试最大程度地减少此功能的键盘使用 这实际上比您想象的要容
  • 将文件添加到文件夹时运行 .bat 文件的 Powershell 脚本

    我想监视 Windows 7 文件夹 并在将任何新文件添加到该文件夹 时运行 bat 文件 看来我应该能够使用安装在计算机上的 powershell 来执行此操作 我读过一些答案 例如this one但我还无法通过修改我所看到的内容来使任何
  • itext从现有pdf中获取字段坐标

    首先 我不是 Java 开发人员 我只需要小程序 它将从现有 pdf 文件中按字段名称输出字段坐标 当我从命令行调用我的类时 我将输入该坐标 如下所示 javac GetField java java GetField
  • UITableViewCellStyleSubtitle 单元格的分隔线不占全宽

    我已经准备好了一个简单的测试项目回答我在 GitHub 上的问题 使用时UITableViewCellStyleSubtitle细胞类型 称为Subtitle在 Xcode Interface Builder 中 由于某种原因 水平线没有到
  • MySQL 查询一堂课的书本费用

    我只需要一个 MySQL 行查询来执行以下操作 假设有两个简单的表 Class and Books Class ID Name Students1 公斤 202 年级 3 253 等级 5 30 Books ID ClassId Title
  • 如何从没有原型的对象创建具有默认原型的JS对象?

    背景 该模块请求参数例如能够解析key value hello universe到一个物体 key value hello universe 然而 模块作者认为返回的对象没有原型 换句话说 这个 混蛋 对象是由Object create n
  • 如果存在任何查询字符串,则 .htaccess 重定向?

    我目前有以下 htaccess