htaccess –删除html扩展名+添加尾斜杠+在子文件夹中查找索引(组合)

用户名

我已经为这个问题苦苦挣扎了一个星期。

我的网站根目录是这样的:

index.html
page.html
subfolder/index.html
subfolder/page.html

我已经阅读了大量的文章来做这三件事。实际上,我可以单独进行操作,但是无法确定如何将它们组合在一起!

  1. 删除.html扩展名
  2. 自动index.html在子文件夹中查找
  3. URL(例如www.domain.com/subfolder/page.htmlwww.domain.com/subfolder/page/

这将是超级如果在写入www.domain.com/page.htmlURL会自动更改为www.domain.com/page/

先感谢您!

我目前的htaccess:

RewriteEngine on

RewriteCond %{THE_REQUEST} /([^.]+)\.html [NC]
RewriteRule ^ /%1 [NC,L,R]

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

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.html [NC,L]
阿努巴瓦

用此代码替换所有代码块:

DirectoryIndex index.html
RewriteEngine on

# redirect file.html to /file/
RewriteCond %{THE_REQUEST} \s/+(.+?)\.html\s [NC]
RewriteRule ^ /%1/ [R=302,NE,L]

# added .html extension to /file by checking presence of file.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+?)/?$ $1.html [L]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

htaccess:如何删除文件扩展名,添加斜杠并可能保留样式?

htaccess强制www,删除“ index.php”,创建干净的url并添加尾随反斜杠

正则表达式向URL添加尾部斜杠,除非URL以文件扩展名结尾

htaccess添加文件扩展名或绕过

除了以文件扩展名(即 .pdf、.html、...)结尾的 URL 之外,有没有办法自动向所有 URL 添加尾部斜杠?

使用.htaccess删除文件扩展名

.htaccess删除单个文件的扩展名

.htaccess-强制www,后跟斜杠并删除扩展名

通过子目录中的 .htaccess 删除扩展名 .html

当.htaccess更改无效时,如何从网址中删除.html扩展名

如何使用“ .htaccess”文件添加“ .php”扩展名

htaccess删除没有扩展名的索引的完全匹配

如何删除单个文件的.php文件扩展名?(.htaccess)

htaccess删除了文件扩展名,但扩展名仍然存在

使用.htaccess删除多个文件扩展名

使用.htaccess删除文件上的重复扩展名

删除文件扩展名htaccess不起作用

使用 .htaccess 删除 .php 文件的扩展名

使用htaccess从网址中删除日期和扩展名

htaccess不重写扩展名或斜杠

htaccess删除文件扩展名并允许使用相同名称的文件夹

删除文件夹名称HTACCESS和文件扩展名?

使用 .htaccess 删除 .php 扩展名但文件夹访问返回 404

htaccess将文件扩展名从.php更改为.html

.htaccess如果最后一个斜杠之前没有扩展名,则添加斜杠

当用户使用htaccess直接在网址中键入扩展名时,从文件中删除扩展名

删除最后的斜杠和扩展名,并通过htaccess处理错误页面

.htaccess删除PHP扩展名与重定向尾部斜杠冲突

需要 .htaccess 中的文件扩展名