重写规则未正确重定向

时间:2017-08-17 作者:jfreak53

我正在使用Rewrite Plugin 从Wordpress插件站点:Wordpress Plugin Page

我正在尝试获取以下URLhomes-for-sale-details/4420/217007490/177/Fb-landing-page 在子目录中调出自定义PHP页面propertylisting1. 所以这是我的规则:

^homes-for-sale-details/4420/217007490/177/Fb-landing-page(.*)$

我把它重定向到propertylisting1/index.php

这似乎是可行的,因为当我转到那个URL时,它实际上会检测到它,但它不会显示我想要它显示的页面,它会将我重定向到主页,完全重定向我。

enter image description here

我在上面也有规则。

1 个回复
最合适的回答,由SO网友:jfreak53 整理而成

答案是不使用插件,只使用Apache内置的HTAccess。为了不破坏Wordpress的重写功能,HTAccess和Wordpress的诀窍是将新规则放在RewriteCond wordpress的声明。所以决赛是这样的:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]

RewriteRule ^homes-for-sale-details/4420/217007490/177/Fb-landing-page(.*)$ propertylisting1/index.php?success=$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
正如您所注意到的,我必须将它放在not found的条件和基本重写规则之间。

这种方式工作得非常好,在这个过程中不会违反Wordpress自己的任何规则。

结束

相关推荐