.htaccess,如何从网址中删除模式?

时间:2016-09-14 15:38:55

标签: ajax .htaccess

我想清除我的网址:

https://example.com/track&id=180  

为:

https://example.com/track/180

我的代码如下:

我的.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^welcome/([^/]+)/?$                index.php?a=welcome&filter=$1   [NC,QSA,L]
RewriteRule ^track/([^/]+)/?$                  index.php?a=track&filter=$1     [NC,QSA,L]
RewriteRule ^(([^/]+)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3             [L,QSA]

但如果我通过Ajax使用第二个例子(没有&id=的网址),则返回“未定义”。

我尝试使用此链接按钮

进行Ajax调用
<a href="'.$this->url.'/track/'.$id.'" rel="loadpage">Click Here</a>

我认为它是未定义的,因为在我的请求中,我将PHP中的id参数作为$_GET['id'];

所以我的问题是:为什么它不适用于Ajax?

这是我的functions.js

$(function() {
    $("body").on("click", "a[rel='loadpage']", function(e) {
        // Get the link location that was clicked
        startLoadingBar();
        pageurl = $(this).attr('href');
        // Replace the path of the url from index to the path with raw content
        var custom = pageurl;
        var custom = custom.replace(baseUrl+'/track', 'page.php?a=track');
        var custom = custom.replace(baseUrl+'/', 'page.php?a=welcome');
        // Request the page
        $.ajax({url:custom,success: function(data) {
            // Show the content
            $('#content').html(data);
            // Stop the loading bar
            stopLoadingBar();
            // Scroll the document at the top of the page
            $(document).scrollTop(0);
            // Reload functions
            selectExplore();
            reload();
        }});


        // Store the url to the last page accessed
        if(pageurl != window.location){
            window.history.pushState({path:pageurl}, '', pageurl);
        }
        return false;
    });
});

.htaccess不是我的强项,所以任何帮助都会非常感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以使用此JS代码发送AJAX调用:

var custom = pageurl.replace(baseUrl+'/track/', '/page.php?a=track&id=');

// Request the page
$.ajax({url:custom,success: function(data) {
   // ...
}