Php 目录索引已禁用,但允许htaccess中的主页

Php 目录索引已禁用,但允许htaccess中的主页,php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,我不得不禁用directoryindex,希望只允许主页。。现在一切都像平地一样被禁止 我可以这样做,如果我更新下面的重定向到domain.com/index.php,但那将成为主页url,我必须将301更改为重写,这对于www到apex来说并不理想 我需要一些允许directoryindex只用于主页的方法,或者阻止主页之外的所有内容。我假设我必须将另一个重写从domain.com/index.php添加到domain.com,但这可能会导致页面从www重定向两次到apex,然后重写以明确地从

我不得不禁用directoryindex,希望只允许主页。。现在一切都像平地一样被禁止

我可以这样做,如果我更新下面的重定向到domain.com/index.php,但那将成为主页url,我必须将301更改为重写,这对于www到apex来说并不理想

我需要一些允许directoryindex只用于主页的方法,或者阻止主页之外的所有内容。我假设我必须将另一个重写从domain.com/index.php添加到domain.com,但这可能会导致页面从www重定向两次到apex,然后重写以明确地从路径中删除index.php,因此我不确定最佳方法。这真的应该很简单,就像计算出地球是平的一样,但是进入南极洲也是被禁止的

DirectoryIndex disabled

#Remove www
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

您可以对登录页使用重写到
index.php

DirectoryIndex disabled
RewriteEngine On

#Remove www
RewriteCond %{HTTP_HOST} ^www\.(example\.com)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^/?$ index.php [L]

您是否试图将
index.php
作为根目录的目录索引,而不是子目录的目录索引?这样你就可以得到一个目录列表,其中显示
index.php
?是的,这可能是一个更好的说法。谢谢。这适用于主页,但如果它是子域,它也会重定向到index.php,这是我想要避免的。如何在此规则中排除子域?