帮助PHP代码 - 需要添加条件来建立一个链接https

时间:2010-03-30 15:09:19

标签: php html wordpress https

我有一个wordpress博客,我需要让其中一个页面安全。我被告知要将该页面的链接指向https://claimpage.html,而不是http://claimpage.html

问题是我实际上并没有创建将用户链接到各个页面的菜单。这是由后台代码自动完成的。我想我需要提出某种IF声明,如果页面标题是“声明现在”,那么使用https,否则使用http。

我在header.php中找到了这个代码,所以我认为我的更改需要在这里进行,但我不确定该怎么做。

<div id="navbar">
  <ul class="menu">
   <li class="<?php if ( is_home() ) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"><a href="<?php echo get_settings('home'); ?>"><?php _e('Home'); ?></a></li>
   <?php wp_list_pages('sort_column=id&depth=1&title_li='); ?>
   <?php wp_register('<li>','</li>'); ?>
  </ul>
</div> <!-- end of #navbar -->

有关如何创建一个我知道标题和网址或https的页面的建议,而其他页面保持使用普通的http?

该网站托管在安全的服务器上,所以我有一个ssl证书。

3 个答案:

答案 0 :(得分:2)

继prodigitalson的想法之后。您可以将其添加到.htaccess:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^claimpage.html https://claimpage.html [R=301,L] 

这应该可以解决问题。

答案 1 :(得分:0)

在.htaccess中使用重写规则或RedirectMatch。如果重定向链接而不修改代码,那将会很谨慎。

答案 2 :(得分:0)

如果您只有一种语言,并且您指向此网站的链接会静态粘贴到您的主题中。

<div id="navbar">
  <ul class="menu">
   <li class="<?php if ( is_home() ) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"><a href="<?php echo get_settings('home'); ?>"><?php _e('Home'); ?></a></li>
   <?php wp_list_pages('sort_column=id&depth=1&title_li='); ?>
   <?php wp_register('<li>','</li>'); ?>
   <li><a href="https://yoursecurelink">my secure link</a></li>
  </ul>
</div> <!-- end of #navbar -->

不需要正则表达式,IF或ELSE等。我认为你的链接是静态的,所以只需粘贴即可。