【发布时间】:2020-11-25 11:28:18
【问题描述】:
我有问题。我们使用 Wordpress,我们需要重写一些 URL。不是全部!这只是暂时的。
基本的 htaccess 如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
我们现在需要一个重写规则来简化一条长路径:
/汽车/火车/自行车/人类/轮胎/
应该是:
/所有轮胎/
我认为这会起作用,但遗憾的是它没有。
RewriteRule /all-tires/$ /car/train/bike/human/tires/
我们不想重定向(301),我们只是想简化一个长路径,以便用户在他的地址栏中看到一个短路径。
有人可以帮忙吗?
谢谢! 爱拍
【问题讨论】:
-
在 .htaccess 上下文中配置时,与 never 匹配的路径段 RewriteRule 以
/开头,此时已被剥离。 -
(当然,整个事情必须放在 默认 WP 路由之前。)
-
嗨@Cbroe,我不太明白。我试过:把重写规则放在不启动/在RewriteEngine On之后。不工作。或者它的外观如何?
-
基本上应该是这样的。在规则末尾添加
[R=302],然后查看是否会强制外部重定向到该地址。如果是这样,那么规则本身就起作用了——剩下的问题可能出在 WordPress 本身上。 -
即使是 [302] 也不会改变任何东西。还是不行。当我采用相同的规则、相同的页面并使用 all-tires.php$ readme.html 时,它会运行。我也试过/car/train/bike/human/tires/index.php,它在地址栏中有效,但在htaccess中无效?
标签: wordpress .htaccess url mod-rewrite