【问题标题】:htaccess Adding forward slash (trailing slash) in urlhtaccess 在 url 中添加正斜杠(尾部斜杠)
【发布时间】:2014-05-06 18:58:02
【问题描述】:

我希望我的网站看起来像 www.example.com/about/

但是目前我有一个 htaccess 代码,它删除了 .php 和 .html 扩展名

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

上面的代码使我的网址看起来像,例如 www.example.com/about 因为我不知道 htaccess 代码,所以它没有结尾的正斜杠(尾部斜杠)。

有人可以提供在网址末尾添加正斜杠(尾部斜杠)的代码,因为我在许多其他帖子中找到的代码对我不起作用。

另外请注意,对于我上面的 htaccess 代码,我不得不更改没有扩展名的链接。例如;一个 href="index" 而不是一个 href="index.html"

总结一下

1.) htaccess 的代码是什么,可以使我的 url 以正斜杠(尾随斜杠)结尾而没有扩展名。例如; www.example.com/about/

2.) 目前,我的链接设置为没有扩展名,以制作我当前的 htaccess 代码。 (例如;a href="index" 而不是 a href="index.html")所以我必须用它的扩展名改回来吗?

3.) 我需要一个适用于 php 和 html 的代码

4.) 我是否应该将所有链接回我的索引页面的链接更改为域名,以便当有人从我网站的另一个页面单击主页链接时,它将显示为,例如,例如; www.example.com 而不是 www.example.com/index

非常感谢您花时间阅读,希望得到答案以及对代码的解释。

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    RewriteEngine On 行下方插入此规则以添加尾部斜杠:

    Options +FollowSymLinks -MultiViews
    DirectorySlash On
    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s]
    RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=302]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
    RewriteRule ^(.+?)/?$ $1.php [L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/$1\.html -f [NC]
    RewriteRule ^(.+?)/?$ $1.html [L]
    

    【讨论】:

    • 现在这个新代码允许链接正常工作,但它的末尾没有斜杠。
    • 恢复了我的更改并再次修改了规则。你需要确保你的href链接也是绝对的,所以它应该是href="/about/index",以斜线开头。
    • 现在这段代码可以工作了!它以正确的方式链接每个页面!但是 CSS/images/js 等没有加载。我试图使它成为绝对路径,例如 ../images/example.jpg 、 /images/example.jpg 、 ../../css/example.css 但似乎没有任何效果。代码是完美的,以它应该的方式链接。只是加载css/images/jpg等这个小问题。
    • 查看另一个更新,但是您必须在这些路径中使用 css/图像的绝对路径,即 href="/images/example.jpg" 没有 ../
    • 太棒了!!!!!!!有用!!!非常感谢您的耐心和指导帮助!!!!所以基本上我需要做的就是在任何文件夹(如 css/images/js)之前添加 /。再次感谢您,非常感谢!!!
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2021-03-09
      • 1970-01-01
      • 2012-04-15
      相关资源
      最近更新 更多