4

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

现在它类似于http://mywebsite.com/apt/

我想从 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

有人可以建议我如何从 URL 中隐藏 /apt/ 扩展名吗?非常感谢。

4

3 回答 3

11

试试这个:删除重定向部分,然后使用这个 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]

然后对主网站使用相同的代码。

于 2014-05-05T20:51:31.983 回答
1

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

 <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>
于 2017-07-29T11:24:10.667 回答
0

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

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

代替

RewriteRule ^/?$ "http\:\/\/www\.mywebsite\.com/\apt" [R=301,L]

通过此重写,您应该在网址 www.mywebsite.com 下的 /apt 文件夹中看到您的应用程序

于 2014-05-05T19:43:12.110 回答