问题标签 [trailing-slash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
141 浏览

apache - htaccess 添加不需要的字符

我有一个看起来像这样的 htaccess 文件

一切正常,直到它必须向根目录上具有匹配文件夹的链接添加斜杠。

示例:如果我记下www.example.com/live并且 www.example.com/ 中没有名为“live”的文件夹,则脚本将添加一个斜杠。但是,由于有一个名为“live”的文件夹,脚本将再次添加斜杠,但它也会添加这个 ?page=live 所以 URL 看起来像这个www.example.com/live/?page =直播

我的问题是为什么 ?page=something&beta=something&gamma=...等。被添加到后面,我应该如何让它停止?

0 投票
2 回答
358 浏览

php - 从评论表单中删除尾部斜杠

当用户输入他们的链接时,我需要代码来删除尾部斜杠。例如,我需要他们输入他们的 url 来获取他们的头像,但在某些情况下,他们将他们的 url 以斜杠 (.com/) 结尾。如何自动删除该斜线?因为当他们这样输入网址时,头像不会显示。

我正在寻找使用 php 代码删除尾部斜杠,但任何解决方案将不胜感激。

我尝试使用此代码但没有用:

0 投票
4 回答
52748 浏览

.htaccess - 添加尾部斜杠 .htaccess

我正在尝试获得以下效果(使用此本地文件http://localhost/[company_name]/[project_name]/.htaccess):

我想要完成的事情是这个 .htaccess 不再需要该路径http://localhost/[company_name]/[project_name]/,因此我不必在每次上传时都对其进行编辑。

我在这里找到了上面的代码:Add Trailing Slash to URLs,但它只能动态地使用 HOST 并丢弃路径。有人可以解决这个问题吗?

0 投票
2 回答
47 浏览

wordpress - wordpress 中的.htaccess 问题

在我的网站中,网址

1) http://www.example.com/pt-br/perguntas-frequentes/ - 显示错误

2) http://www.example.com/pt-br/perguntas-frequentes - 工作正常。

我正在使用 WPML 插件代码如下

0 投票
2 回答
3900 浏览

apache - htaccess mod_rewrite 将不带斜杠的目录路径重定向到 PHP GET

我正在构建一个 ajax 驱动的网站,该网站使用 html5 pushState() 来保留其 url 结构并促进可靠的页面重新加载等。为此,我设置了我的 htaccess,以使任何以大写字母开头的目录路径并且没有尾部斜杠被重定向到一些

“domain.com/index.php?page=目录路径”

所以现在我的请求被翻译为:

domain.com/文件夹 => domain.com/index.php?page=文件夹

domain.com/Folder/ , domain.com/folder, domain.com/folder/ => (默认,不重写)

这是由我的 .htaccess 文件(位于域根目录)完成的,代码如下:

在我添加一个名为“Folder”的空白目录并在我的浏览器上访问“domain.com/Folder”之前,这一直很好。
以前,“domain.com/Folder”给了我预期的内容(“domain.com/index.php?page=Folder”)和“domain.com/Folder/”给了我一个 404 错误,正如预期的那样在文档根目录中没有名为“文件夹”的目录。

现在我的预期结果是:
浏览器在 url 栏中显示“domain.com/Folder”,服务器提供“domain.com/index.php?page=Folder”的内容(与“Folder”不存在的情况相同) )

但相反:
浏览器显示“domain.com/Folder?page=Folder”

有人可以指出我在这里做错了什么吗?而且,如果可能的话,我该如何纠正它?

*我在任何其他目录中都没有其他 htaccess 文件。
编辑:当我强制永久重定向 [R=301] 时,该方案似乎工作正常,但不幸的是,这会更改浏览器地址栏中的 url。

0 投票
1 回答
4794 浏览

.htaccess - 当'index.html'被剥离时,如何删除'/folder/index.html'的尾部斜杠?

我有一个具有以下文件/文件夹结构的静态站点:

  • 索引.html
  • /foobar/
    • 索引.html
    • 鲍勃.html
    • 爱丽丝.html

我想实现以下目标:

  • 删除所有.html扩展。✔ 有效
  • 删除index.html(分别index)。✔ 有效
  • 我希望文件结束时没有斜杠。✔ 有效
    • 如果有人添加了斜杠,则重定向到不带斜杠的 URL。✘ 不工作
  • 我希望“文件夹”(实际上是index.html文件夹内的文件)结束时没有斜杠。✘ 不工作
    • 如果有人添加了斜杠,则重定向到不带斜杠的 URL。✘ 不工作

因此,以下 URL 应该可以工作:

  • example.com/(实际上/index.html:)
  • example.com/foobar(实际上/foobar/index.html:)
  • example.com/foobar/bob(实际上/foobar/bob.html:)
  • example.com/foobar/alice(实际上/foobar/alice.html:)

以下请求应重定向 (301):

  • example.com/foobar/重定向到example.com/foobar:)
  • example.com/foobar/bob/重定向到example.com/foobar/bob:)
  • example.com/foobar/alice/重定向到example.com/foobar/alice:)

我看到当文件存在时这会产生问题/foobar.html:当有人访问时/foobar,不清楚是请求目录还是文件。但是,我会确保这永远不会发生。


目前,我有这个.htaccess

我必须在我的 中更改/删除/添加.htaccess什么?我不太明白。我试图删除注释为“如果匹配的 .html 不存在,则在目录中添加缺少的尾部斜杠”的块,但这没有帮助。

0 投票
2 回答
1180 浏览

.htaccess - 删除尾部斜杠和非 www 到 www - 使用 .htaccess

同时组合 2 个 mod_rewrite 时,我遇到了 .htacess 的问题:

  • 删除尾部斜杠
  • 将非 www 重定向到 www

这是我的 .htaccess 文件

当我只使用其中一个时,它们工作得很好,但是当我把它们放在一起时,页面就像永远加载一样。

请帮助我找到一种可以在同一个 .htaccess 中使用它们的方法

0 投票
2 回答
262 浏览

.htaccess - 向 URL 添加斜杠时获取 301 而不是 404

我已经在这方面工作了几个小时,但找不到有关它的信息。嗯,是的,有信息,但我只能找到单独的解决方案,这些解决方案放在一起是行不通的。

我试图从这个开始:

代码有效,我得到了斜杠。但是,如果我输入一个不存在的文件名,它会返回 301。例如:

第一个标头响应是 301,这是合乎逻辑的,因为它试图返回:

然后它返回 404,但是这样需要两次请求才能返回 404。

我想很多人以前都发现过这个问题,我相信这是一个普遍的问题,但我还没有找到解决方案。

0 投票
1 回答
1219 浏览

python - 缺少斜杠的 URL 在 CherryPy 中不会被重定向

我在 CherryPy 处理静态文件时遇到了困难。问题与处理 URL 的尾部斜杠有关。有时会添加缺少的斜线,有时则不会:行为是不可预测的。我确信那里潜伏着一个错误。当我添加或删除一些静态文件时,该错误似乎出现了。看起来可能有一个未初始化的变量在处理斜杠的函数中创建了一个未确定的状态。我已经整理了一个显示问题的最小应用程序(至少在我的机器中)。我在 Ubuntu 12.10 下使用 CherryPy 3.2.2。

我的实验性静态文件夹(/home/bob/www)的结构非常简单:

如果我浏览localhost:8080/dir/,结果页面会显示图像。
如果我浏览localhost:8080/dir,结果页面不会显示图像。

任何帮助,将不胜感激。也许我没有正确配置应用程序,因为我是 CherryPy 的新手。

谢谢,
鲍勃

PS我已经阅读了stackoverflow.com/questions/10276060,它有类似的问题,但使用了Routes。我不使用路由。

0 投票
2 回答
719 浏览

.htaccess - 没有斜杠,重写不起作用

我无法在不输入斜杠的情况下使 URL 正常工作。

它的:

www.domain.com/shop/buy/products/show/range/

.htaccess 重写规则是:

它适用于斜杠(我不希望在 URL 中出现),但并非没有。我还应该补充一点,如果我要从 URL 中删除“/show/”(虽然我不能这样做),它可以在没有尾部斜杠的情况下工作,或者如果“range”包含破折号“-”,如“new” -product',它也有效。

但是,此 URL 可以带或不带斜杠:

www.domain.com/shop/buy/products/show/range/color

此 URL 的 .htaccess 重写规则是:

如何在没有斜杠的情况下使第一个 URL 正常工作?这可能很明显,因为我是最近使用 .htaccess 的新手,但我现在花了几个小时盯着代码并阅读有关重写的论坛帖子,但无法解决这个问题。谢谢!