Htaccess:从 URL 添加/删除尾部斜杠

2023-12-09

我的网站运行一个名为 -> WSS 壁纸脚本的脚本

我的问题-> 我一直在尝试强制删除或在 URL 末尾添加尾部斜杠,以防止重复内容并清理我的 URL。

我已经尝试了各种方法并尝试了我能想到的一切并从互联网上加载,但还没有这样的运气!这可能是一个快速解决方案,但我已经看过太多次了,我可能对一些非常明显的事情视而不见。

所以我向你展示我所有的.htaccess code:

DirectoryIndex index.php

RewriteEngine on
RewriteRule ^download/([0-9]+)?/([0-9]+)x([0-9]+)/([^/\.]+) image.php?id=$1&width=$2&height=$3&cropratio=$4&download=1 [L]
RewriteRule ^file/([0-9]+)?/([0-9]+)x([0-9]+)/([^/\.]+) image.php?id=$1&width=$2&height=$3&cropratio=$4 [L]
RewriteRule ^preview/([0-9]+)?/([0-9]+)x([0-9]+)/([^/\.]+) wallpaper_preview.php?id=$1&width=$2&height=$3&name=$4 [L]
RewriteRule ^thumbnail/([0-9]+)?/([0-9]+)x([0-9]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/]+) image.php?wallpaper_id=$1&width=$2&height=$3&cropratio=$4&align=$5&valign=$6&file=$7 [L]
RewriteRule ^cat/([0-9]+)?/([^/\.]+)/p([0-9]+) index.php?task=category&id=$1&name=$2&page=$3 [L]
RewriteRule ^cat/([0-9]+)?/([^/\.]+)/([0-9a-zA-Z?-]+)/p([0-9]+) index.php?task=category&id=$1&name=$2&sortby=$3&page=$4 [L]
RewriteRule ^cat/([0-9]+)?/([^/\.]+)/([0-9a-zA-Z?-]+)-([0-9]+) index.php?task=category&id=$1&sortby=$3&page=$4 [L]
RewriteRule ^cat/([0-9]+)?/([^/\.]+) index.php?task=category&id=$1&name=$2 [L]
RewriteRule ^tag/([^/\.]+)/([0-9a-zA-Z?-]+)/([0-9]+) index.php?task=tag&t=$1&sortby=$2&page=$3 [L]
RewriteRule ^tag/([^/\.]+) index.php?task=tag&t=$1 [L]
RewriteRule ^profile/([0-9]+)?/([^/\.]+) index.php?task=profile&id=$1&name=$2 [L]
RewriteRule ^profile/comments/([0-9]+)?/([^/\.]+) index.php?task=users_comments&id=$1&name=$2 [L]
RewriteRule ^page/([0-9]+) index.php?task=view_page&id=$1 [L]  
RewriteRule ^register index.php?task=register [L] 
RewriteRule ^lost-password index.php?task=lost_pass [L] 
RewriteRule ^links index.php?task=links [L]
RewriteRule ^news/item/([0-9]+)/([^/\.]+) index.php?task=news&id=$1 [L]
RewriteRule ^news/page([0-9]+) index.php?task=news&page=$1 [L]
RewriteRule ^members/([^/\.]+)-([^/\.]+)/page([0-9]+)? index.php?task=member_list&sort=$1&order=$2&page=$3 [L]
RewriteRule ^members index.php?task=member_list [L]
RewriteRule ^messages index.php?task=messages [L]
RewriteRule ^submit index.php?task=submit [L]
RewriteRule ^search/([^/\.]+) index.php?task=search&q=$1 [L]
RewriteRule ^search index.php?task=search [L]
RewriteRule ^submit index.php?task=submit [L]
RewriteRule ^r-([0-9]+)?-([0-9]+)? go.php?id=$1&ref=$2 [L]
RewriteRule ^r-([0-9]+)? go.php?id=$1 [L]
RewriteRule ^([^/\.]+)/([0-9]+)/([^/\.]+) index.php?task=view&id=$2&name=$3 [L]
RewriteRule ^news/([^/\.]+) index.php?task=news&name=$1 [L]
RewriteRule ^profile/([^/\.]+) index.php?task=profile&name=$1 [L]
RewriteRule ^news index.php?task=news [L]
RewriteRule ^page/([^/\.]+) index.php?task=view_page&name=$1 [L]  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/([0-9a-zA-Z'?-]+)/([0-9]+) index.php?task=category&name=$1&sortby=$2&page=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/([^/\.]+) index.php?task=view&name=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+) index.php?task=category&name=$1 [L]


## www reslove ##
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
## www reslove ##

## index reslove ##
Options +FollowSymLinks
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^(.*)index.php$ http://www.epicwallpaper.net/$1 [R=301,L]
## index reslove ##

正下方RewriteEngine On行,添加:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R] # <- for test, for prod use [L,R=301]

强制执行无尾部斜杠政策。

要强制执行尾部斜杠策略:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R] # <- for test, for prod use [L,R=301]

EDIT: 评论了R=301部分原因是,正如评论中所解释的:

小心一点R=301!拥有它使许多浏览器无限期地缓存 .htaccess 文件:如果您无法清除所有打开它的计算机上的浏览器缓存,它就会以某种方式变得不可逆转。测试时,最好使用简单的R or R=302

完成测试后,您可以使用R=301.

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

Htaccess:从 URL 添加/删除尾部斜杠 的相关文章

  • PHP 构建/集成工具:您使用它们吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PayPal REST API:通过重定向 URL 或 Webhook 调用履行订单/付款?

    我正在致力于将 PayPal REST API 集成到我的 Symfony 2 Web 应用程序中 我不确定完成订单 付款的正确时间 地点 与金额 客户数据等其他参数一起 我将两个 URL 传输到 PayPal API 一个是接受付款时用户
  • php SimpleXML 属性丢失

    我这里有以下 xml 文档 编辑 示例见下文 我正在使用 php SimpleXML 将其转换为对象来读取它 xmlContent file get contents path test xml tablesRaw new SimpleXM
  • 发帖到 FB 粉丝专页时如何解决“不支持的发帖请求”?

    我有一个可以执行 ff 的脚本 发布指向用户时间线 墙的链接 以管理员身份发布指向用户页面的链接 发布到用户的个人资料页面工作正常 然而 发布到粉丝页面的行为很奇怪 我我能够发帖但我回来了 不支持的发布请求 错误 我已经搜索过这个问题并尝试
  • PHP 中的金字塔星号

    请看我的代码 for row var row gt 1 row for j 0 j lt row j echo echo echo nbsp Output 但我需要输出如下 您可能想查看一些字符串函数
  • 未找到请求的 URL - Laravel 5

    我正在尝试将一个网络应用程序 我使用 Laravel 5 制作 上传到 DigitalOcean Droplet 但我得到一个404错误 在此服务器上找不到请求的 URL public login 这是我的Apache2 conf
  • PHP 电子邮件编码?

    我在发送电子邮件时遇到外来字符问题 有人可以建议我该怎么做吗 我怀疑问题可能是以下三件事之一 html页面编码不正确 这会影响表单中的 POST 数据吗 邮件功能没有任何编码 因此程序不知道如何读取它 最有可能的 文件本身没有正确的编码 因
  • 执行通过 AJAX 加载的 Javascript [重复]

    这个问题在这里已经有答案了 可能的重复 如何执行动态加载的 JavaScript 块 https stackoverflow com questions 75943 how do you execute a dynamically load
  • Yii 模块国际化

    Yii Doc 模块可以无限嵌套 水平 也就是说 一个模块可以包含 另一个模块还可以包含 另一个模块 我们称前者为 父模块 而后一个子模块 模块 必须声明子模块 在他们的模块属性中 父模块 就像我们声明模块一样 在显示的应用程序配置中 如上
  • 通过 WooCommerce 注册时将完整的电子邮件地址设置为用户名

    设置 帐户下的 WooCommerce 有一个名为 根据客户电子邮件自动生成用户名 但它生成的用户名不是完整的电子邮件地址 email protected cdn cgi l email protection becomes myemail
  • 在 woocommerce 中创建带有音频文件的可下载产品

    相信你的一天过得很充实 我需要从前端创建一个可下载的 woocommerce 产品 我已经能够创建链接来发布产品并将音频文件添加为附件 但我需要在付款后使此附件可下载 就像您从仪表板发布可下载的 woocommerce 产品时一样 我已经可
  • 将数组项合并到字符串中[重复]

    这个问题在这里已经有答案了 如何将所有数组项合并为一个字符串 Use the implode功能 http php net manual en function implode php 例如 fruits array apples pear
  • 使用 php 脚本从不同网站读取文件

    如何从完全不同的服务器读取文件的内容 然后显示内容 我稍后将更改代码以正确地使用返回的信息 您可以使用file get contents http php net file get contents or cURL http php net
  • 可以用 PHP 设置表单字段值吗?

    我使用 GET 函数从 url http index html variable value 中提取一个带有 php 的值 这是基本的东西 但是 我需要在我的表单中使用该值 通常 我会设置 或类似的东西 但是 我无法使用我正在使用的编辑器在
  • 当用户使用 Internet Explorer 时重定向到新页面

    我使用下面的代码将使用 Internet Explorer 的用户重定向到新页面 但显然代码有问题 因为当我使用 Internet Explorer 时该网站不再加载 这是代码 由于我不知道我做错了什么 如果有人可以发布使用正确编码的正确方
  • MVC:我应该在哪里格式化数据?

    我从模型 带有数据的数组 获取数据 并且需要以特定格式显示 我需要迭代数组 格式化数据然后显示它 我应该在哪里格式化数据以显示 在模型 控制器还是视图中 谢谢 对数组的迭代并显示数据是在视图中完成的 因此我也会在视图中进行格式化 如果格式化
  • php 字符串与通配符 * 匹配?

    我想提供将字符串与通配符匹配的可能性 Example mystring dir folder1 file pattern dir file stringMatchWithWildcard mystring pattern gt Return
  • reCaptcha 值未出现在 $_POST 中

    我正在尝试在我的网站上使用 reCaptcha 并且 recaptcha challenge field 和 recaptcha response field 没有添加到后端的 POST 数组中 但我表单中的其余变量是 有任何想法吗 我已经
  • 如何用PHP识别google/yahoo/msn的网络爬虫?

    AFAIK SERVER REMOTE HOST 应该以 google com 或 yahoo com 结尾 但这是最有保障的方法吗 还有其他出路吗 您通过以下方式识别搜索引擎用户代理和IP地址 http www jafsoft com s
  • 将静态站点生成器与 php 集成

    我目前正在使用 php 构建一个不需要定期更新的网站 并且我考虑使用静态站点生成器 因为它将具有类似博客的功能 然而 我的网站包含一个将与数据库链接的表单 我遇到的问题是静态站点生成器无法识别和解析 php 我目前正在考虑使用三个静态站点生

随机推荐

  • Yii CMultiFileUpload 选择多个文件

    得到了答案 将多个文件上传到数据库进行注册 已经尝试了很多方法来使用 CMultiFileUpload 小部件使多个文件上传可行 我已经检查并关注了以下链接 http www yiiframework com forum index php
  • safeUnbox() 无法反转

    我试图消除 Android 应用程序的所有警告 其中之一是 viewModel value 是一个装箱字段 但需要取消装箱才能执行 android checked 这可能会导致 NPE 因此数据绑定将安全地拆箱它 您可以更改表达式并使用 s
  • 太阳能标签云

    我似乎陷入了 Solr 分面支持的标签云的逻辑背后 首先 我使用 OpenNLP 解析我的文档并从中获取相关单词 因此每个文档都被分成 n 个单词 我的 Solr 响应基本上是这样的
  • 是否为容器启用?

    有没有办法禁用容器内的所有控件 例如网格 谢谢你 UPD 虽然Silverlight的Grid有IsEnabled属性 但Windows Phone 7 Grid肯定没有IsEnabled属性 对于 Silverlight 我在网格周围添加
  • 如何创建位图形式的Drawable对象

    我正在为 Android 开发自定义视图 为此 我希望让用户能够选择和使用图像 就像使用时一样ImageView In attr xml我添加了以下代码
  • 拖动源容器时,jsPlumb 源端点不会移动

    Using jsPlumb 其中在可拖动内部的细分之间创建键absolute定位的容器称为 projects 这些都出现在一个大型通用容器中 container 代码中设置为默认容器jsPlumb Defaults Container co
  • PY2EXE 编译 Python 代码运行速度更快吗?

    我真的很喜欢 PY2EXE 模块 它确实帮助我与其他同事共享脚本 这些脚本对他们来说非常易于使用 我的问题是 当 PY2EXE 模块将代码编译为可执行文件时 生成的可执行文件处理速度是否更快 感谢您的回复 py2exe 只是将 Python
  • 测试开关中的多种情况,例如 OR (||)

    你会如何使用switch case当你需要测试时a or b在同样的情况下 switch pageid case listing page case home page alert hello break case details page
  • 将具有数据绑定的“动态”元素添加到我的聚合物元素中

    几天来 我尝试为聚合物提供一些 动态 元素 不幸的是没有成功 我的目标是在运行时添加一个元素 并通过聚合物数据绑定 以 自然 聚合物方式 用内容填充它 没有另一个建议的解决方法堆栈溢出答案 请看一下这个小提琴中的代码 https jsfid
  • 在单个函数中设置状态两次 - ReactJS

    我有一个设置状态两次的函数 第二次setState必须在第一次之后 500 毫秒后发生setState已经发生 动画目的 代码如下 const showAnimation gt this setState hidden false setT
  • 连接 ODP.Net 时出现 ORA-01005 错误

    我尝试使用以下代码访问 Oracle 数据库 版本 10 2 0 4 0 但在调用其 open 方法时 连接会引发 ORA 01005 给出空密码 登录被拒绝 异常 var connBuilder new OracleConnectionS
  • ChromeDriver driver = new ChromeDriver(); 之间有什么区别和 WebDriver 驱动程序 = new ChromeDriver();

    有什么区别 ChromeDriver driver new ChromeDriver and WebDriver driver new ChromeDriver 如果我在 Selenium Java 中使用这些代码 我会得到相同的输出吗 我
  • 错误:[Header] 不是 组件

    尽管我努力修复它们 但我仍然遇到上述错误 终端声称应用程序编译没有问题 但浏览器上没有显示任何内容 我在查看控制台时发现了错误 以下是错误所指的 Header 组件的 index js 文件 import React from react
  • 使用 pywin32 库中的 win32evtlog 写入 Windows 事件日志

    我有一个简单的 python 脚本 将在 Windows 服务器上运行 我想将整个脚本中的特定事件记录到 Windows 事件日志中 有谁有一个简单而精确的写入 Windows 事件日志的示例 以便我可以从事件查看器查看该事件 我已阅读 p
  • SQL-收缩数据库日志文件

    我正在尝试缩小我的数据库日志文件 我尝试过运行 USE databasename BACKUP log databasename WITH truncate only DBCC shrinkfile databasename log 1 我
  • 如何定义一个将函数文字(带有隐式参数)作为参数的函数?

    我希望能够在这些行上做一些事情 不会编译 def logScope logger Logger operation implicit l Logger gt Unit code operation logger code def opera
  • 在MyBatis中插入子对象

    我有一个非常简单的对象图 我想使用 MyBatis 将其存储在数据库中 如果我创建一个全新的对象图 具有两个细节的 BatisNode 如何编写代码以确保创建子对象 详细信息如下 public class BatisNode protect
  • 如何解决错误 1060:使用视图 -> 创建视图重复列名

    我正在尝试通过连接 Sakila 数据库中的一些表 在 MySQL 中 来创建视图 https dev mysql com doc sakila en 即我要加入付款 员工和客户 并显示客户姓名 员工姓名 付款id和金额 我右键单击 视图
  • 使用 iText 生成 pdf 的锚定方法的相对路径

    我使用 iText 生成 PDF 并使用以下代码创建锚点 String newPath file newPath newPath completePath trial setAnchor newPath The trial对象属于类型Chu
  • Htaccess:从 URL 添加/删除尾部斜杠

    我的网站运行一个名为 gt WSS 壁纸脚本的脚本 我的问题 gt 我一直在尝试强制删除或在 URL 末尾添加尾部斜杠 以防止重复内容并清理我的 URL 我已经尝试了各种方法并尝试了我能想到的一切并从互联网上加载 但还没有这样的运气 这可能