.htaccess规则以同样的方式实现根目录和子文件夹

问题描述 投票:0回答:1

我们有一个目录,其中有一个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 subdirectory
1个回答
0
投票

您可以在站点根目录.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
文件。

© www.soinside.com 2019 - 2024. All rights reserved.