htaccess 清理 URL 的最佳方法是什么?

2024-03-10

我正在为我的网站开发干净的网址,我注意到您在互联网上找到的内容几乎都是将您的干净网址重写为您的服务器可以使用的网址。所以像这样:

www.domain.com/profile/username --> www.domain.com/profile.php?u=username

RewriteEngine On
RewriteRule ^profile/(.*)$ /profile.php?u=$1 [L]

所以现在我应该在我的网站内链接到 cleanurl。但直观上来说,链接到“脏”网址感觉更可靠/更好。因此,在这种情况下,您应该对上述内容使用重写规则,并使用重定向规则将“脏 url”重新定义为干净的 url,这样用户始终只能在浏览器中看到干净的 url。

www.domain.com/profile.php?u=username --> www.domain.com/profile/username

这是一件好事吗?是通过网站完成的吗?反对/支持它的论据是什么?

以及如何进行这样的重定向。像下面这样的东西似乎不起作用:

RewriteRule ^profile\.php?u=(.*)$ /profile/$1 [R=301, L]

我对 .htaccess 相当陌生,所以我可能会要求一些显而易见的东西......


RewriteRule ^profile\.php?u=(.*)$ /profile/$1 [R=301, L]

不会起作用,因为你无法匹配来自 a 的查询字符串RewriteRule(您的标志中也有一个杂散空间)。您还希望匹配实际请求而不是 URI,因为您只会导致其他规则的重定向循环。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /profile\.php\?u=([^&\ ]+)
RewriteRule ^/?profile\.php$ /profile/%1 [R=301,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

htaccess 清理 URL 的最佳方法是什么? 的相关文章

  • 仅使用 .htaccess 在某些页面上将 http 重写为 https

    我知道关于我的问题有很多话题 我检查了所有这些并尝试了它们 但无法使其工作 我只需要在某些页面上将 http 重写为 https 访问 https 页面后 URL 将返回到 http 这是我到目前为止所拥有的 Rewrite Rules f
  • 点击取消时 htpasswd 被绕过

    在我的 htaccess 中 我有以下代码 用于保存 admin 区域 如果我提供了错误的用户名密码 它会不断弹出正确的用户名 但如果我按取消 我可以看到我的限制区域 而不是加载错误页面 这是怎么回事 谢谢 AuthName Restric
  • 如何强制浏览器使用 .htaccess 下载目录中的所有文件类型?

    我如何告诉浏览器强制下载目录中的所有文件类型 而不是在浏览器中呈现它们 我已经尝试过这个但没有成功
  • 一个文件夹中的多个 htaccess 文件,还是条件 AuthType Basic?

    我在本地服务器和实时服务器上使用相同的 htaccess 文件 并希望在测试服务器上使用相同的文件 以使代码管理更容易 目前 虽然我必须有一个不同的文件 因为我的测试服务器具有 htaccess 密码访问权限 AuthType Basic
  • 重写 .php 扩展名

    请问我该如何重写 有人可以重写这个网址吗 to http localhost display news cat 14 2 http localhost display news cat 14 2 谢谢 您可以使用 htaccess 文件来做
  • 正则表达式匹配非整数?

    尝试创建一个忽略正确整数的正则表达式 1 5 999等 和正斜杠 但在其他所有内容中都找到匹配项 例如 它将找到以下匹配项 test test1 test 1 但忽略了 1 55 7 这是为了模组重写 0 9 我想应该可以解决这个问题 它将
  • 使用 RewriteRule 从重定向中删除主题标签

    我目前正在通过获取变量并将其插入新 URL 来重定向 URL 就像这样 RewriteCond QUERY STRING pid 0 9 RewriteRule vault displayimage php photos 1 R 301 L
  • 仅当未找到文件时才重定向请求?

    我希望有一种方法可以使用 mod rewrite 和 Apache 来做到这一点 但也许还有另一种方法可以考虑 在我的网站上 我为客户的网站重新设计版本设置了目录 如果网络根目录是 home blah www 客户端目录将是 home bl
  • 如果 url 不包含特定目录,则 htaccess 重定向

    使用 htaccess 我需要将所有不包含特定 URL 路径 医疗保健 的 URL 重定向到新域 同时保持原始 URL 不变 Example healthcare domain com anydirectory anything html
  • Apache 重写规则可以使用或不使用尾部斜杠

    我正在尝试重定向一系列静态 URL 并且无论尾部斜杠是否存在 我都希望它能够正常工作 foo bar gt tacos foo bar gt tacos 我已经尝试了以下方法以及各种变体 但我总是只得到尾部斜杠存在的匹配项 RewriteR
  • if 不是 localhost 语句 htaccess

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

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

    我已将以下内容插入到我网站的 htaccess 中 以便能够访问HSTS预加载列表 https hstspreload appspot com
  • mod_rewrite 有例外

    为了将我的服务器上的每个请求重定向到我使用的安全连接 RewriteCond SERVER PORT 80 RewriteRule https mywebsite com 1 R L 效果完美 但是我需要两条路径不被重定向 说我什么时候访问
  • 设置 Silex Bootstrap 时出现 Apache 错误:无法检查 htaccess 文件

    我正在尝试使用 Silex Bootstrap 建立一个网站 我已将它与其他 Web 项目一起放在我的文件夹中 并更改了 Apache 配置中的 DocumentRoot
  • 带有 .htaccess 的漂亮网址?

    我刚刚创建了一个新的 WordPress 页面模板 在其中运行一些 php mysql 脚本 我想对其子页面应用 mod 重写 例如我生成了以下链接 http www quotist com quotes by authors html l
  • 将 .php URL 重定向到不带扩展名的 URL [重复]

    这个问题在这里已经有答案了 可能的重复 使用 htaccess 删除 php 扩展名 https stackoverflow com questions 4026021 remove php extension with htaccess
  • PHP和.htaccess认证解决方案

    这是布局 web root admin dir index php js img other files dirs dir files 到目前为止 我使用 htaccess passwd 保护管理目录 因为我希望对该目录中的所有文件 包括
  • ASP.NET Core URL 重写

    我正在尝试将我的网站从 www 重定向到非 www 规则以及 http 到 https https example com https example com 在中间件中 我曾经在 web config 中进行这些重定向更改 例如
  • 如果文件名减去扩展名,.htaccess url 重写行为将被覆盖。与网址相同

    我正在尝试整理 URL 并从中删除 php 扩展名等 我位于网站的基本文件夹中 因此没有可以优先处理的父 htaccess 文件或其他文件 这是我的 htaccess 代码 RewriteEngine On RewriteRule give

随机推荐

  • Log4Net 多个项目

    我在用log4net在我们的解决方案之一中 该解决方案包含多个项目 每个项目一个单元测试项目 我正在使用中描述的方法这个帖子 http blog falafel com Blogs josh eastburn 2012 04 10 usin
  • Mathematica 中的语法着色

    用户定义的函数符号如f in f x 2 x 或变量符号 例如lotto in lotto Table 2 10 自动着色 在 M8 上的语法着色中 没有为此提供选项 仅限未分配值的局部变量或全局符号 这并不完全是您所要求的 但可能对您有用
  • Apache POI 使用 HSSF 比使用 XSSF 快得多 - 接下来做什么?

    我在解析时遇到了一些问题 xlsx带有 Apache POI 的文件 我得到java lang OutOfMemoryError Java heap space在我部署的应用程序中 我只处理 5MB 以下的文件和大约 70 000 行 因此
  • Silverlight 中的动画边距变化

    我正在 Silverlight 中对边框大小进行动画调整 但是我还需要逐渐删除其周围的边距 当前为 50 Blend 似乎不会为边距变化生成补间 它只是一次性从 50 跳到 0 有办法实现这一点吗 问题是边距实际上是 System Wind
  • 普罗米修斯时间序列在没有更新的情况下持续多长时间

    如果我向 Prometheus 发送一个仪表 则有效负载具有时间戳和如下值 指标名称 标签 值 2 0 16239938546837 如果我在普罗米修斯上查询它 我可以看到一条连续的线 如果不发送相同指标的有效负载 线路就会停止 几分钟后发
  • 从Firebase android获取孩子ID [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 Android 开发非常陌生 我正在使用 Firebase 开发一个 Android 应用程序来获取一个人的姓名和地址 我的数据
  • 如何在 javascript 中将日期时间字符串的格式从使用斜杠改为使用连字符?

    我有一个以下格式的输入日期字符串 yyyy mm dd 这是我想要的输出日期字符串格式 yyyy mm dd Javascript 有内置的方法可以做到这一点吗 Use 字符串替换 https developer mozilla org e
  • 如何使用 Javascript Date 对象计算东部时间?

    我正在开发一个涉及 Javascript 的个人项目 作为该项目的一部分 我想获取当前日期 包括时间 并相应地显示它 没什么大不了的吧 嗯 deal是我想返回时间和日期东部夏令时间 无论 IP 在世界哪个地方 如果这是不可能的 您建议采用哪
  • C# 多屏幕视图单一表单

    我用 C 创建了一个 GUI 它应该如下所示 主屏幕上有两个按钮 当Button1被单击我不想使用打开新表单form2 show 但在保持相同形式的同时 我想更改显示 我通过隐藏 GUI 元素并根据需要显示其他元素来完成此操作 它按照我想要
  • 如何重命名项目中的 Rails 控制器和模型

    我启动了一个 Rails 应用程序 一切正常 但现在 我想重命名控制器和关联的模型 我想改变Corps控制器到Stores模型也相同 没有最后的 s 在谷歌上查看 人们建议销毁然后重新生成控制器和模型 问题是它会删除每个文件的实际代码 解决
  • 如何在gemspec文件中指定依赖gem的路径?

    我创建了一个 gem X 但它没有发布 现在我正在创建另一个 gem 它将添加 gem X 作为依赖项 如下所示 s add dependency X 在 gemspec 文件中 由于 gem X 不在 ruby gem 或 git 或 r
  • 如果用户正在键入,则延迟 KeyUp 操作 (C#)

    我有一个当用户在搜索框中键入内容时被调用的函数 我想在实际执行该函数之前等待用户完成输入 我知道如何在 JavaScript 中通过超时轻松完成此操作 但是我如何在 C 中做同样的事情呢 另外 在假设用户完成输入之前我应该 等待多长时间 1
  • 如何排除 Sbt 中的传递依赖(在程序集插件的上下文中)?

    我有两个 Sbt 项目 我的共享空间 and 我的服务 我的共享空间 与依赖关系 libraryDependencies Seq nz ac waikato cms weka attributeSelectionSearchMethods
  • 无法将嵌套应用程序中的自定义 Django 模型指定为 AUTH_USER_MODEL

    我无法指定自定义AUTH USER MODEL如果该模型位于nested应用 这是一些项目结构 project settings py my parent app init py apps py my child app init py a
  • JUnit:如何避免测试实用程序类中的“无可运行方法”

    我已经从JUnit3 8切换到JUnit4 4 我使用 ant 运行测试 所有测试都成功运行 但测试实用程序类失败并出现 无可运行方法 错误 我使用的模式是在测试文件夹下包含名为 Test 的所有类 我知道运行程序找不到任何用 Test 属
  • Scrapy、privoxy 和 Tor:SocketError:[Errno 61] 连接被拒绝

    我将 Scrapy 与 Privoxy 和 Tor 一起使用 这是我之前的问题Scrapy 与 Privoxy 和 Tor 如何更新 IP https stackoverflow com questions 45009940 scrapy
  • 在 Android 上查找圆上的点

    一切看起来都那么简单明了 直到我必须真正对其进行编程 我有什么 我上传了一张图片以更好地解释它 我有一个圈子 我知道 它是半径 中心点坐标 每个按钮的初始坐标 红色圆圈 我希望能够在将灰色圆形图像旋转 10 度时计算红色按钮的新坐标 x1y
  • winform中如何只验证数字?

    如何在不使用按键选项的情况下验证数字 为什么不是Char IsNumber or IsDigit在职的 或者我应该使用正则表达式进行验证 private bool ValidateContact if Char IsNumber textB
  • Java:将浮点二进制转换为浮点十进制

    我想转换表示 IEEE754 双精度数尾数部分的字符串 找不到Java中是否有这样的转换方法 以避免手动添加1 1 2 1 4 1 8等 010000001100101000011111000000000000000000000000000
  • htaccess 清理 URL 的最佳方法是什么?

    我正在为我的网站开发干净的网址 我注意到您在互联网上找到的内容几乎都是将您的干净网址重写为您的服务器可以使用的网址 所以像这样 www domain com profile username gt www domain com profil