将所有路径从子文件夹重定向到子文件夹/ index.html

时间:2015-07-25 04:38:28

标签: .htaccess mod-rewrite

我在子文件夹名称/博客中有一个静态网站。如何将301目录中的所有路由重定向到相同的路由+“index.html?”。例如:

  • / blog / - > /blog/index.html
  • / blog / some-route / - > /blog/some-route/index.html
  • / blog / some-route / some-route / - > /blog/some-route/some-route/index.html

我想我可以使用RewriteRule在htaccess中完成。我在这里阅读了一些文档和示例,例如Redirect subfolder to index.html in htacess,但我不知道我该怎么做

2 个答案:

答案 0 :(得分:1)

在根.htaccess内,你可以拥有以下代码:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/index\.html$ [NC]
RewriteRule ^blog/(?:(.+)/?)?$ /blog/$1/index.html [L,NC,R=301]

答案 1 :(得分:0)

您可以使用RedirectMatch执行此操作:

RedirectMatch 301 ^/blog/(.*)$ /blog/$1/index.html