1

我需要一种在 url 末尾添加 index.htm 的方法。
例如:
www.example.com/folder1/folder2 AND
www.example.com/folder1/folder2/
必须在内部重定向到 www.example.com/folder1/folder2/index.htm(这必须适用于任意数量的文件夹/subfolders)
到目前为止,我的 htaccess(在根目录下)看起来像:

Options +FollowSymLinks
RewriteEngine on
RewriteOptions inherit
RewriteBase /

#
# some 301 REDIRECTS here
#


# rewrite non-www into www
# after all redirection rule AND before any rewrite rule
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]



#
# rewrite rules below here
#

有任何解决这个问题的方法吗?
谢谢你。

编辑:
- 所有网址都来自重写规则 - 站点中没有实际的文件夹。
- 在我的浏览器中键入 www.example.com/folder1/folder2,只得到一个 404 页面未找到。我需要它重定向到 www.example.com/folder1/folder2/index.htm (有一个规则创建这个 url)

4

2 回答 2

1

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.htm$ [NC]
RewriteRule ^(.*?)/?$ /$1/index.htm [L,R=301]
于 2013-04-02T12:41:29.573 回答
0

你的意思是你想 REDIRECT /folder1and /folder1/into /folder1/index.htm, and /folder1/folder2and /folder1/folder2/to /folder1/folder2/index.htm, and /folder1/folder2/folder3and /folder1/folder2/folder3/to/folder1/folder2/folder3/index.htm

RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)/?$
RewriteRule ^(.*) /%1/index.htm [R]

RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)/([a-z0-9-_]+)/?$
RewriteRule ^(.*) /%1/%2/index.htm [R]

RewriteCond %{REQUEST_URI} ^/([a-z0-9-_]+)/([a-z0-9-_]+)/([a-z0-9-_]+)/?$
RewriteRule ^(.*) /%1/%2/%3/index.htm [R]
于 2013-04-03T09:03:55.330 回答