使用 htaccess 如何将 PHP 网站默认主页(即 index.php 文件)从根文件夹(即“html”)更改为子文件夹(称为“子文件夹”),但网站仍应像以前一样工作,即主页将来自“子文件夹”,但其他页面仍将使用相同的旧根“html”文件夹。
笔记 :
网站有 SSL 即(https)
主页浏览器 URL 应始终https://www.mywebsite.com/
根文件夹是“html”。
“子文件夹”的目录路径为“html / subfolder”,该文件夹只有一个文件,即“index.php”
因此任何页面 URL(包括主页)都不应发生变化。
无重定向
答案1
根据 Apache 文档https://httpd.apache.org/docs/2.4/mod/mod_dir.html, 我试过
DirectoryIndex 子文件夹/index.php
因此更新后的根文件夹 .htaccess 代码是
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /app/
#---------
DirectoryIndex subfolder/index.php
#---------
RewriteRule (.*?[A-Z]+.*) ${lc:$1} [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$ [NC]
RewriteCond %{HTTPS}s ^on(s)|off
RewriteRule ^(.*)$ http%1://www.mywebsite.com/$1 [R=301,QSA,L]
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
RewriteRule ^(.*)&(.*)$ $1__-__$2 [N]