【问题标题】:Subdirectory is being accessed instead of a html file of the same name正在访问子目录而不是同名的 html 文件
【发布时间】:2021-07-07 16:22:42
【问题描述】:

所以,我刚刚让我的 .htaccess 文件正常工作,它删除了 .html 扩展名就好了。但是,我现在有一个问题,指向我的工作页面 www.mywebsite.com/work 的 url 现在指向子目录 work,其中包含可以通过 work.html 页面访问的所有特定项目文件。我创建了子目录,因为我希望 url 字符串读取为www.mywebsite.com/work/project-name,同时还拥有一个干净且有条理的根文件夹,而不是用 100 多个 html 文件填充它。

我整天都在寻找解决方案,但我觉得我的知识有限导致我忽略了答案,所以如果这是一个骗局,我深表歉意。我想我会在万不得已的情况下专门在这里问。希望得到您的任何建议,如果这已经有了明确的答案,请将其标记为欺骗并指出正确的方向!

如果有帮助,我的 .htaccess 文件的内容如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]*

【问题讨论】:

  • @Amit 我遇到了这个,但与该帖子中的许多其他人一样,提出的解决方案不起作用。当然,它会删除斜线,但它没有找到它要访问的 html 文件。

标签: html .htaccess server subdirectory


【解决方案1】:

我终于找到了一个很好的解决方案,它也遵循了 Amit 承认的修复方法。

首先,添加DirectorySlash Off

然后我删除了RewriteCond %{REQUEST_FILENAME} !-d

最后我删除了“!”来自“!-f”。总的来说,.htaccess 应该是这样的:

DirectorySlash Off

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

解决方案在this post中找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2017-01-29
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多