.htaccess WordPress将URL重定向到特定文件

时间:2019-01-17 21:49:22

标签: wordpress .htaccess

嗨,我在这里看到所有线程,但是代码无法解决我的问题。 我有一个自定义页面landing.php(在wp网站的根目录中),这是仅具有一个链接的登录页面(静态页面)

我只想site.com/landing.php重定向到site.com/landing/,但是landing.php重定向到/ landing

我尝试使用以下代码:                    RewriteRule ^landing/?$ landing.php [L]

但是在这种情况下,我可以打开/ la​​nding /和/landing.php,我希望着陆.php重定向到/ landing /

谢谢

1 个答案:

答案 0 :(得分:0)

尚不清楚您真正想要的是什么...

但这是您在对问题的评论中明确要求的答案:

RewriteEngine on
RewriteRule ^/?landing\.php$ /landing/ [R=301]

该规则将在实际的http服务器的主机配置和动态配置文件(“ .htaccess”样式文件)中同样起作用。

但是请注意:您应该始终喜欢将此类规则放置在http服务器主机配置中,而不要使用动态配置文件(“ .htaccess”)。这些动态配置文件增加了复杂性,通常是导致意外行为,难以调试的原因,并且确实降低了http服务器的速度。仅当您无法访问真正的http服务器主机配置(阅读:真正便宜的服务提供商)或坚持编写自己的规则的应用程序(这显然是安全的噩梦)时,才提供它们作为最后的选择。

但是考虑到通常对简单的Web项目所做的事情,我猜测这就是您要查找的内容:

RewriteEngine on
RewriteRule ^/?landing\.php$ /landing/ [R=301]
RewriteRule ^/?landing/?$ /landing.php [END]

如果使用上述规则(http状态500)遇到内部服务器错误,则很可能是您运行了非常旧版本的apache http服务器。您应该尝试升级,以防无法尝试使用L标志而不是END标志。根据您的设置,它可能工作正常。