首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >htaccess更改子文件夹根和子文件夹

htaccess更改子文件夹根和子文件夹
EN

Stack Overflow用户
提问于 2022-08-01 17:01:44
回答 1查看 53关注 0票数 1

我有一个具有这种结构的example.com网站:

代码语言:javascript
复制
public_html/
    .htaccess
    index.php
    project/
        .htaccess
        public/
            index.php

public_html/.htaccess的内容如下:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

public_html/project/.htaccess的内容如下:

代码语言:javascript
复制
RewriteEngine On
RewriteRule !^public/ /public%{REQUEST_URI} [L]

实际效果

当url是public_html/index.php example.com时,我可以看到

当url是public_html/project/public/index.php时,我无法看到example.com/project.错误404

预期结果

当url是public_html/index.php example.com时,我希望能够看到

我想在url是public_html/project/public/index.php的时候看到example.com/project

加成信息

如果我将public_html/project/.htaccess的代码放到根的htaccess文件中,它就能工作。

示例:

代码语言:javascript
复制
public_html/
    .htaccess
    index.php
    project/
        index.php

public_html/.htaccess

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]

RewriteRule !^project/ /project%{REQUEST_URI} [L]

如果url是example.com,我可以看到

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-01 19:34:41

public_html/.htaccess的内容应该是:

代码语言:javascript
复制
DirectoryIndex index.php
RewriteEngine On

RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R,L]

public_html/project/.htaccess的内容应该是:

代码语言:javascript
复制
RewriteEngine On

RewriteRule ^$ public/index.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^public/ public/index.php [L,NC]

请确保从新浏览器中测试它,以避免旧缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73197182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档