我们有一个目录,其中有一个index.php文件,我们通过.htaccess为其定义了规则,运行良好,现在我们需要创建一个子目录,其中也将包含index.php文件。
现在我们希望,如果子目录的名称位于类似 - rootDir/Subdirectory/index.php 的路径中,并且如果没有子目录名称,那么我们为 rootDir/index.php 实现的规则也应该适用于该子目录它应该适用于根目录文件的路径。
这是当前的 htaccess 代码 -
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
.htaccess 文件的当前位置是 - rootDir/.htaccess
请分享您的解决建议。
您可以在站点根目录.htaccess中使用这些规则:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/index\.php$ [NC]
RewriteRule ^(.+/)?[^/]+/?$ $1index.php [L]
最后一条规则将显示请求路径中子目录中的
index.php
文件。