【问题标题】:Remove the .html extension in the URL, when the folder has the same name as the .html file当文件夹与 .html 文件同名时,删除 URL 中的 .html 扩展名
【发布时间】:2021-03-14 14:11:26
【问题描述】:

我在从网站地址中删除 .html 扩展名时遇到问题。一切正常,直到我创建一个文件夹,该文件夹的名称与给定位置的某个文件已经具有的名称相同。比如此类文件的情况:

index.html
example1.html
example1/example2.html

当我尝试从 index.html 转到 example1.html 时,页面不会读取扩展名,而是显示文件夹树而不是页面。它只是转到example1 文件夹而不是example1.html。任何人都可以帮助我吗?我已经用谷歌尝试了大多数(如果不是全部)解决这个问题的方法,但没有任何效果:(我将.htaccess 的内容留在下面。提前致谢

SetEnv PHP_VER 5_3
SetEnv REGISTER_GLOBALS 0
RewriteEngine on

# REMOVE .HTML
RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]

【问题讨论】:

  • 尝试在您的 http 服务器中关闭“内容协商”:httpd.apache.org/docs/2.4/content-negotiation.html
  • 我该怎么做?我阅读了此链接上的信息,但它对我没有帮助,因为我仍然完全是绿色的:/(我有一个域并在 OVH 上托管,如果重要的话)

标签: .htaccess url


【解决方案1】:

好的,我找到了这个问题的答案,只需将这几行代码添加到.htaccess即可。

DirectorySlash Off
RewriteEngine on 
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.(php|html)[\s?/] [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME}   !-f 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*) /$1.php [L]
RewriteCond %{REQUEST_FILENAME}   !-f 
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*) /$1.html [L]
RewriteCond %{REQUEST_FILENAME}   !-f 
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*) %{REQUEST_URI}/ [L,R=302]

【讨论】:

  • 嗯,对我来说,这看起来就像你只是复制了一些你在某处找到的代码,而没有真正理解它的作用......因为这与你在问题中给出的描述不匹配......跨度>
  • 我只是简单地搜索了我的问题的答案很长时间,当我发现一些有用的东西时,我决定使用它。我不需要理解这段代码,因为我认为它对任何事情都没有用。如果你的意思是这段代码也指 PHP,而不仅仅是 HTML,我只是不想删除它,因为也许我也想删除这个扩展 :)
  • 盲目地复制一些东西而不了解你在做什么以及一些借来的代码做了什么从来都不是一个好主意。您是老板,但我真的建议您投入精力来掌握您尝试使用的工具。否则只会在以后发生无法解释的奇怪事情时让自己感到沮丧。
  • 我知道盲目复制不是一个好主意,我永远不会在不了解代码的情况下复制任何东西,例如HTML 或 CSS,但是当另一个人和我有同样的问题时(除了 html 只需要 php),并且编写 .htaccess 文件的语言似乎并不容易,我只是更愿意理解一般的代码和不要浪费我的时间逐行详细了解它,因为我不打算在不久的将来处理它。
  • 你是老板 :-)
猜你喜欢
  • 2020-08-06
  • 2021-07-04
  • 2017-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 2016-04-06
相关资源
最近更新 更多