[英]Use .htaccess to remove directory folder from WordPress URL
在特定情况下,我想从WordPress URL中删除文件夹:
从:
http://capitulardesign.com.br/blog/portfolio/70-anos-sinduscon/
至:
http://capitulardesign.com.br/portfolio/70-anos-sinduscon/
但是,该规则仅适用于/blog/portfolio/
情况。 WordPress安装在/blog/
文件夹中,普通网站(混合了WordPress Codex代码的自定义PHP页面)位于根文件夹中。
加: /portfolio/
是自定义帖子类型分类法。
那将是一个非常糟糕的解决方案。
你有没有考虑改变rewrite_rules
与和变化组合“术语”链接term_link
?
检查出什么现行规则portfolio
使用portfolio_rewrite_rules
过滤器,并使用改变它们的链接term_link
过滤器。
解决此问题的另一种方法是将分类组合的arguments数组的rewrite
元素的with_front
(更改为false
)(而register_taxonomy
)。
将以下代码放入主根.htaccess
文件中:
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} !\s/+portfolio/ [NC]
RewriteRule ^blog/portfolio/(.*)$ portfolio/$1 [R=302,L,NE]
RewriteRule ^portfolio/(.*)$ blog/portfolio/$1 [L]
该方案是将对/blog/portfolio/
任何请求重定向到/portfolio/
然后在内部将任何/portfolio/
重定向到/blog/portfolio/
。
注意:清除浏览器缓存并进行测试,如果确定,将302
更改为301
以进行永久重定向
使用更好的搜索替换插件来替换您的网址。 旧网址
http://capitulardesign.com.br/blog/portfolio/
新网址
http://capitulardesign.com.br/portfolio/
无需htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^capitulardesign.com.br
RewriteRule ^blog/(.*)$ blog/portfolio/$1 [L,R=301]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.