【问题标题】:Website link with out “/”不带“/”的网站链接
【发布时间】:2013-09-16 01:51:23
【问题描述】:

我的 Apache 2.2 在端口“8080”上运行我想调用我的站点 URL http://www.example.in:8080/abc/xyz.html/index.php(xyz.html 是一个文件夹)

作为 ....

http://www.example.in:8080/abc/xyz.html

谁能帮我解决这个问题的.htaccess ..

注意:

1) example.in:8080/abc/xyz.html/ 没问题,但我想避免最后的“/”。

2) 我想避免 DirectorySlash Tried DirectorySlash Off in .htaccess 导致 xyz.html 文件夹列表。

3) 尝试了 DirectorySlash off 和 Options -indexes RESULTED 403 Forbidden Error

4) 尝试使用 DirectoryIndex index.php 结果在输入“/”时有效,但在没有“/”列出内容的情况下无效...

任何人都可以帮助我使用 .htaccess 代码吗?在此先感谢。

【问题讨论】:

    标签: apache .htaccess mod-rewrite directoryindex


    【解决方案1】:

    我就是这样解决的

    将波纹管代码添加到根文件夹.htaccess

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^(abx/xyz.html)/?$ $1/index.php [L,NC]
    

    并将以下代码添加到 xyz.html 文件夹中的 .htaccess 文件中

    DirectorySlash Off
    Directoryindex index.php
    Options -indexes
    

    【讨论】:

      【解决方案2】:

      这是我的 .htaccess 保存在 xyz.html 文件夹中

      DirectorySlash Off
      RewriteCond %{REQUEST_FILENAME} -d
      RewriteRule ^(.+[^/])$ /$1/ [L]
      RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ (.*)/index\.php
      RewriteRule ^(.*?)/?index.php$ /$1 [L,R=301]
      

      结果是......它列出了目录内容。

      【讨论】:

        【解决方案3】:

        DirectorySlash 在您关闭它时存在固有的信息泄露安全问题。这意味着如果您将其关闭(并且确实需要),您必须自己处理尾部斜线。所以是这样的:

        DirectorySlash Off
        RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule ^(.+[^/])$ /$1/ [L]
        

        请注意,这实际上与DirectorySlash 所做的相同,但不是重定向浏览器,而是在内部重写 URI 以添加尾部斜杠。这意味着就网络服务器而言,它就在那里,但浏览器看不到它。

        然后您可以检查index.php

        RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ (.*)/index\.php
        RewriteRule ^(.*?)/?index.php$ /$1 [L,R=301]
        

        【讨论】:

        • 这是我的 .htaccess 保存在 xyz.html 文件夹中 DirectorySlash Off RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+[^/])$ /$1/ [L] RewriteCond %{ THE_REQUEST} ^(GET|HEAD)\ (.*)/index\.php RewriteRule ^(.*?)/?index.php$ /$1 [L,R=301] 结果是......它正在上市出目录内容。
        • @SreekanthSagar 在空白的 htaccess 文件中对我来说工作正常。不会列出目录内容,在请求时总是给我index.php 文件而不用尾部斜杠
        • 但我希望这仅适用于一个 url/文件夹 .. 即。对于 xyz.html
        猜你喜欢
        • 1970-01-01
        • 2017-07-15
        • 2021-12-17
        • 2011-11-14
        • 2014-11-22
        • 2017-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多