以前曾有人问过这类问题,但所提出的解决办法对我不起作用。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文件中尝试了以下代码:
# 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]这个代码是:
# BEGIN WordPress
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{THE_REQUEST} \ /blog/
RewriteRule ^blog/(.*)$ /$1 [L,R=301]最后,这一守则:
# BEGIN WordPress
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^blog/(.*)$ /$1 [R=301,NC,L]而且绝对没有一个能起作用。到目前为止,唯一成功的是针对每个URL单独执行重定向( is...PAINFUL )。
任何帮助都将是非常感谢的。
发布于 2015-09-21 17:05:39
您尝试过的规则没有起作用,因为您已经拥有了:模式中的^blog/。因为您想重写的URL是表单jol/blog/...,所以应该更新规则。
假设jol可能有所不同,请使用以下规则:
RewriteRule ^(.+/(?=blog/))blog/(.*)$ $1$2 [R=301,L,NC]如果jol总是在规则中,只需使用:
RewriteRule ^jol/blog/(.*)$ jol/$1 [R=301,L,NC]https://stackoverflow.com/questions/32687465
复制相似问题