【问题标题】:AJAX, SEO and PHP folder troubleAJAX、SEO和PHP文件夹麻烦
【发布时间】:2012-11-25 19:52:46
【问题描述】:

我正在创建一个读取特定文件的 AJAX 脚本,该文件的名称由 GET var 标识。 index.php中脚本的开头是:

var expFile = '<?php echo $_GET['text_name']; ?>';
$(document).ready(function () {

$.ajax({
    url: expFile+'.xml',
    type: 'get',
    dataType: 'xml',
    success: function (data, textStatus) {

    // Parses the content, which is escaped into a "text" tag in the xml, and puts it
    //into an html div with a "content" class"

        var content = decodeURIComponent($(data).find('text').text());
        $('.content').html(content);
    }
});
});

一切顺利。文件被读取并且东西显示正确。 与 index.php 文件位于同一文件夹中的 XML 文件是直接从 AJAX 读取的。

现在我正在使用 mod_rewrite 以使 URL 对 SEO 友好。 当我输入脏 URL (http://www.mysite.com/index.php?text_name=name-of-the-file-to-read) 就可以了。

但是当我输入重写后的网址(即http://www.mysite.com/lyrics/name-of-the-file-to-read)时,内容并没有显示出来。

我知道 AJAX 是客户端,而 mod_rewrite 是服务器端,但我不知道如何从 $.ajax 的“url”参数访问父文件夹(实际上不存在)或像url: 'http://...' 这样的绝对链接(但它违反了同源政策)。

请帮帮我!!!

【问题讨论】:

    标签: php ajax seo directory


    【解决方案1】:

    Francesco 的回答,最初放入问题中:

    已解决。

    问题出在脚本标签上。我必须在 jquery href 中添加 ../

    <script type="text/javascript" src="../libraries/jquery.min.js"></script>
    

    然后我在 URL 中添加了../,一切正常。

    【讨论】:

      【解决方案2】:

      URL 由函数本身附加了.xml - 在这一行:

      url: expFile+'.xml',
      

      当您尝试使用 SEO 友好的 URL 时,它仍然存在吗?如果是这样,我会删除附加的 .xml 并重试。

      【讨论】:

      • seo 友好的 url 最后没有 .xml。我在写帖子时犯了一个错误:GET var is without .xml
      • 问题不在于语法或文件名,而在于使用 SEO 时找不到该文件。我认为问题出在“lyrics/”文件夹:可能 AJAX 认为这是一个文件夹,所以我必须在根文件夹中浏览并找到 xml 文件......但是我该如何使用 AJAX 呢?我尝试使用“../”+expFile+“.xml”,但没有任何反应。我也尝试过使用绝对网络路径“mysite.com/"+expFile+".xml”,但它不起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多