.htaccess在重定向后隐藏子目录url

.htaccess在重定向后隐藏子目录url,.htaccess,redirect,url-rewriting,url-masking,.htaccess,Redirect,Url Rewriting,Url Masking,我正在将网站重定向到我创建的子目录。子目录包含WordPress的安装,现在我想从网站屏蔽子目录url 现在有点像 我想从URL中删除/apt/ 今天我尝试了一切,在谷歌上搜索,尝试在我在这里找到的htaccess上写各种东西,但没有任何效果 在站点主目录的htaccess上,我使用此代码重定向 RewriteCond %{HTTP_HOST} ^mywebsite.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mywebsite.com$ RewriteRul

我正在将网站重定向到我创建的子目录。子目录包含WordPress的安装,现在我想从网站屏蔽子目录url

现在有点像

我想从URL中删除/apt/

今天我尝试了一切,在谷歌上搜索,尝试在我在这里找到的htaccess上写各种东西,但没有任何效果

在站点主目录的htaccess上,我使用此代码重定向

RewriteCond %{HTTP_HOST} ^mywebsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.mywebsite.com$
RewriteRule ^/?$ "http\:\/\/www\.mywebsite\.com/\apt" [R=301,L] 
在/apt/文件夹中的一个上

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /apt/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /apt/index.php [L]

</IfModule>

# END WordPress
#开始WordPress
重新启动发动机
重写基/apt/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/apt/index.php[L]
#结束WordPress
有人能告诉我如何在URL中隐藏/apt/扩展名吗?
非常感谢。

如果要从url中删除/apt,为什么要将“/”重定向到“/apt”? 试试这个:

RewriteRule !^apt/ /apt%{REQUEST_URI} [L,NC]
而不是

RewriteRule ^/?$ "http\:\/\/www\.mywebsite\.com/\apt" [R=301,L]
通过此重写,您应该可以在url www.mywebsite.com下的/apt文件夹中看到您的应用程序 移除重定向部分,然后使用此insead:

RewriteCond %{THE_REQUEST} ^GET\ /apt/
RewriteCond %{HTTP_HOST} ^(www\.)?mysite.com$
RewriteRule ^apt/(.*) /$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?mysite.com$
RewriteRule !^apt/ apt%{REQUEST_URI} [L]
然后对主网站使用相同的代码。

在根文件夹中创建一个.htaccess文件,并将此内容放入其中(只需更改
example.com
my_subdir
):


重新启动发动机
重写cond%{HTTP_HOST}^(www.)?example.com$
重写cond%{REQUEST_URI}^/我的房间/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$/my_subdir/$1
重写cond%{HTTP_HOST}^(www.)?example.com$
重写规则^(/)?$my_subdir/index.php[L]

我更新了答案,因为我发现了一些错误,请尝试这个新版本:RewriteRule^apt//apt%{REQUEST_URI}[L,NC]工作得很有魅力!谢谢!每一行的详细解释都会将这个平庸的答案转化为优秀的答案。
 <IfModule mod_rewrite.c>
      RewriteEngine on
      RewriteCond %{HTTP_HOST} ^(www.)?example.com$
      RewriteCond %{REQUEST_URI} !^/my_subdir/
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ /my_subdir/$1
      RewriteCond %{HTTP_HOST} ^(www.)?example.com$
      RewriteRule ^(/)?$ my_subdir/index.php [L] 
    </IfModule>