首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.htaccess从URL中删除目录文件夹

使用.htaccess从URL中删除目录文件夹
EN

Stack Overflow用户
提问于 2015-09-21 04:39:27
回答 1查看 595关注 0票数 0

以前曾有人问过这类问题,但所提出的解决办法对我不起作用。How can I remove this directory/folder from url with htaccess rewrite?

我已经继承了一个多站点wordpress安装,它在站点的根目录中有一个.htaccess文件。

我需要在像这个http:thewebsite.com/jol/blog/author/myles/这样的所有URL上进行全局重定向才能转到http:thewebsite.com/jol/author/myles/

到目前为止,我已经在.htaccess文件中尝试了以下代码:

代码语言:javascript
复制
# BEGIN WordPress
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Remove subdirectory of "blog" from URLs
RewriteCond %{THE_REQUEST} \ /blog/
RewriteRule ^blog/(.*)$ /$1 [L,R=301]

这个代码是:

代码语言:javascript
复制
# BEGIN WordPress
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{THE_REQUEST} \ /blog/
RewriteRule ^blog/(.*)$ /$1 [L,R=301]

最后,这一守则:

代码语言:javascript
复制
# BEGIN WordPress
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^blog/(.*)$ /$1 [R=301,NC,L]

而且绝对没有一个能起作用。到目前为止,唯一成功的是针对每个URL单独执行重定向( is...PAINFUL )。

任何帮助都将是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-21 17:05:39

您尝试过的规则没有起作用,因为您已经拥有了:模式中的^blog/。因为您想重写的URL是表单jol/blog/...,所以应该更新规则。

假设jol可能有所不同,请使用以下规则:

代码语言:javascript
复制
RewriteRule ^(.+/(?=blog/))blog/(.*)$ $1$2 [R=301,L,NC]

如果jol总是在规则中,只需使用:

代码语言:javascript
复制
RewriteRule ^jol/blog/(.*)$ jol/$1 [R=301,L,NC]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32687465

复制
相关文章

相似问题

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