WordPress页下的子目录中的非WordPress页

时间:2018-05-29 作者:mediocre_bro

我想要一个可以从WordPress页面的父目录访问的非WordPress页面。

例如,我想要http://example.com/city/ 成为WordPress页面。但是,我想将非WordPress页面上载到文件夹中/city/pricing/ 在服务器上。当我尝试这个时,我可以http://example.com/city/pricing/ 它可以工作,但WordPress无法加载http://example.com/city/ 因为服务器看到/city/ 目录,正在查找索引文件。

我是否有可能创造/city/ 作为WordPress页面,但/city/pricing/ 作为一个非WordPress的静态HTML页面?如果没有,我可以换一个解决方案,但我想先看看这是否可行。

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

正如@markkaplen所建议的,最好将这个非WordPress文件存储在文件系统的不同区域,并在中重写URL.htaccess. 而不是在物理目录结构中模仿WordPress URL,这可能只会导致(更多)问题(不仅仅是您需要覆盖WordPress前端控制器)。

例如,不要将非WordPress页面保存在/city/pricing/index.php, 将其保存在/non-wordress/city-pricing.php (例如)或/non-wordress/city/pricing/index.php (如果在开发过程中复制路径结构有帮助,但这对生成的URL没有影响,因为最终用户完全不知道该目录结构)。

然后在.htaccess <在WordPress前控制器之前(即# BEGIN WordPress 第节)您可以执行以下操作:

RewriteRule ^city/pricing/$ /non-wordpress/city-pricing.php [L]
这将在内部重写/city/pricing//non-wordpress/city-pricing.php - 这对最终用户是完全隐藏的。

但要强调的是,这个必须放在WordPress前端控制器之前,否则你只会得到404。

SO网友:Mark Kaplun

您可以通过向htaccess添加一个规则来实现,该规则将为该特定URL加载该页面,并将该规则添加到wordpress规则之前。因此,只要您编写正确的规则,页面在磁盘上的确切位置就没有什么区别。

但对我来说,这听起来是错误的,最好通过添加相关标题将页面转换为wordpress页面模板,然后像在主页下方添加任何其他wordpress页面一样进行添加,因为您可能很快就会意识到您希望能够使用wp_footerwp_head hooks,无论如何,你都有可能结束这项工作。

结束

相关推荐

How to redirect?

我这里有这个代码,我正在将它插入一个插件文件中。基本上,我想将其设置为,如果一个人访问帖子ID(524)的直接链接,它将重定向回主页。但是如果这个人来自这个领域,它就会起作用。在某处找到此代码并对其进行了调整,但我认为存在一些错误。if( $post->ID == 524) { return; } if (wp_get_referer() == \'the domain\') { return; } wp_redirect( get_hom