dongrao9454
2015-12-11 05:52
采纳率: 100%
浏览 35
已采纳

无法在apache2中设置默认索引页面[Debian 7.1]

Hi i am working on a project where i have two index files on root, one is index.php and other is index.html. I want o set default page to index.php and if it is not available then it should work for index.html. I have searched alot on internet and found the following solution for this.

DirectoryIndex index.php index.html

I am using this code on my site:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
          DirectoryIndex index.php index.html default.htm
</Directory>

I have also tried another way:

<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
          DirectoryIndex index.php index.html
          Options Indexes FollowSymLinks MultiViews
          AllowOverride None
          DirectoryIndex index.php index.html
          Order allow,deny
          allow from all
</Directory>

but none of them worked, it always makes index.php default, but when it is not available it doesn't load index.html.

and if I write index.html first and then index.php then it loads index.html, but doesn't load index.php if index.html not available.

In short, we can say that Preferences are not working.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanmuybrtg1231 2015-12-11 05:58
    已采纳

    You can specify multiple filenames, and the web server will search for each file until it finds a match. Consider this example directive:

    Write this into your htaccess file on root:

    DirectoryIndex index.php index.html
    

    In this directive, when a visitor requests the directory name, the web server looks first for an index.php file. If it does not find an index.php file, it looks for an index.html file, and so on until it finds a match or runs out of files to search.

    Or try this way

    # Example A: Set index.html as an index page, then add index.php to that list as well.
    <Directory "/foo">
        DirectoryIndex index.html
        DirectoryIndex index.php
    </Directory>
    
    # Example B: This is identical to example A, except it's done with a single directive.
    <Directory "/foo">
        DirectoryIndex index.html index.php
    </Directory>
    
    # Example C: To replace the list, you must explicitly reset it first:
    # In this example, only index.php will remain as an index resource.
    <Directory "/foo">
        DirectoryIndex index.html
        DirectoryIndex disabled
        DirectoryIndex index.php
    </Directory>
    

    Source:

    点赞 评论

相关推荐 更多相似问题