【问题标题】:htaccess trailing slash errorhtaccess 尾部斜杠错误
【发布时间】:2017-08-09 15:47:51
【问题描述】:

我知道有人问了一些类似的问题,是的,我做了并阅读了所有相关答案,并尝试了很长时间。但是我无法弄清楚错误是什么。我相信剧本是正确的。怎么回事?

我的问题是我不能让结尾的斜杠出现在 url 中。因此,我得到了同一页面的 2 个版本。 (重复内容问题?)例如:

htttps://www.example.com/faq.php

&

htttps://www.example.com/faq.php/

我希望始终自动添加尾部斜杠,这样就没有其他版本了。

这是我的 .htaccess 代码:

 <IfModule mod_rewrite.c>

    RewriteEngine On

    #Redirect anything to http://www (WORKING FINE)
    RewriteCond %{HTTP_HOST} ^example.com [NC]
    RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

    #Redirect anything to https (WORKING FINE)
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    #Redirect to trailing slash (NOT WORKING!)
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_URI} !(.*)/$  
    RewriteRule ^(.*)$ https://example.com/$1/ [L,R=301]

    #Redirect /index.php to / (WORKING FINE)
    RewriteCond %{THE_REQUEST} ^.*/index\.php 
    RewriteRule ^(.*)index.php$ /$1 [R=301,L] 

</IfModule>

还有一个关于同一问题的问题。

当我转到我的域时,如何在 URL 中没有显示尾部斜杠“/”。然后我将它复制并粘贴到文本编辑器中,它以 https://www.example.com/ 的形式出现,并带有斜杠。

然而,当我从上面提到的任何子页面复制/粘贴 URL 时,同样的情况不会发生,例如 /faq.php(不显示为:/faq.php/)。

我知道根域中的尾部斜杠是使 HTTP 请求有效所必需的,但为什么浏览器不显示它?只是审美问题?反正我更关心上面的问题。

非常感谢您的帮助!

【问题讨论】:

    标签: .htaccess redirect slash trailing


    【解决方案1】:

    但是我无法弄清楚错误是什么。我相信剧本是正确的。怎么回事?

    您在重定向之前检查文件是否不存在。这不是你想要的,所以删除这一行:

    RewriteCond %{REQUEST_FILENAME} !-f 
    

    当我转到我的域时,如何在 URL 中没有显示尾部斜杠“/”。然后我将它复制并粘贴到文本编辑器中,它以 https://www.example.com/ 的形式出现,并带有斜杠。

    某些浏览器会自动执行此操作。它可能已经完成,因为那是请求的实际 URL。它还使它看起来更像一个 URL。

    【讨论】:

    • 感谢您的回答一百万。欣赏它!出于某种奇怪的原因,它不起作用。我只使用: RewriteBase / RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ example.com/$1 [L,R=301] 我现在得到的结果是:“www.example.com 重定向你太多次了。” ERR_TOO_MANY_REDIRECTS 网站根本没有显示。
    • 您更改了问题的最后一行。应该是RewriteRule ^(.*)$ https://example.com/$1/ [L,R=301]
    猜你喜欢
    • 2011-12-09
    • 2012-01-06
    • 2012-08-03
    • 2015-01-15
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多