使用.htaccess来提供index.html或index.php

时间:2011-04-06 23:34:47

标签: apache .htaccess mod-rewrite

我想使用.htaccess文件返回主页(index.html)如果直接访问网站(没有参数),还有index.php / subdirectories / ....如果有其他链接

示例:

my_site.com显示index.html

my_site.com/dir1/dir2/必须使用参数dir1 / dir2重定向到index.php ..

请帮助创建此.htaccess文件

我在现有文件中有这个:

RewriteEngine On

RewriteRule ^(。*)(。html | .htm)$ index.php [L]

RewriteCond%{REQUEST_FILENAME}!-f

RewriteCond%{REQUEST_FILENAME}!-d

RewriteRule ^(。*)/?$ index.php [L]

我想对输入网站时提供的index.html文件执行例外

提前致谢

2 个答案:

答案 0 :(得分:1)

在.htaccess文件中尝试以下规则:

RewriteEngine on
Options +FollowSymlinks -MultiViews

# to redirect my.site.com to my.site.com/index.html
RewriteRule ^$ /index.html [R,L]

# to redirect /dir1/dir2 to index.php?url=dir1/dir2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond  %{QUERY_STRING} !^url=
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?url=$1/$2 [R,L,QSA]

答案 1 :(得分:0)

如果您只有html,也可以这样使用。

<IfModule mod_rewrite.c>
    RewriteEngine on
    Options +FollowSymlinks -MultiViews

    RewriteRule ^$ /index.html [R,L]

</IfModule>