doulan8846 2013-10-23 10:30
浏览 35
已采纳

确定用户是键入地址还是单击了href

Ok so I have a basic website and the links on the page for about, contact and services load through ajax content from about.php, contact.php and services.php into a main div on my page. All works well.

The way I have it coded is when someone clicks, say, #about I have the following code:

  $.address.change(function(event) {  
      $('#main').load('../' + event.value + '.php');  
  });  
  $('a').click(function() {  
      $.address.value($(this).attr('href'));  
  });

and in about.php I have:

<?php
    // render form
    require("../templates/about_form.php");
?>

All works well, however lets say a crafty user types in domain.com/about.php then they just get served up the content of about_form.php without the rest of my page around it.

Can I determine if a user does this and if so redirect the page to domain.com#about ...

Any advice appreciated.

  • 写回答

1条回答 默认 最新

  • dongsetan3216 2013-10-23 10:38
    关注

    Wrap your existing pages with

    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        /*page code goes here*/
    
    }else
    {
     header('Location: http://www.domain.com/#yoursection');
    }
    

    What this does is check if the request is an ajax request if not redirects the user to the proper page.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?