URL重写有效,但相应的JS调用不起作用

时间:2013-10-12 19:58:25

标签: javascript .htaccess mod-rewrite

我在htaccess文件中使用了RewriteRules,工作正常。 htaccess文件的内容如下:

RewriteEngine On    # Turn on the rewriting engine

RewriteRule ^product/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$    http://mydomain.com/product/display_detail.php?id=$3 [NC,L]

我使用的网址是http://mydomain.com/product/some_thing_here1/some_thing_here2/1234

目录http://mydomain.com/product/prod.js中有一个js文件。 display_detail.php的所有其他内容加载正常。但是其中一个DIV的内容必须使用JS on load进行更改。此js文件中存在的加载函数不起作用。但如果我直接调用网址http://mydomain.com/product/display_detail.php?id=1234,一切正常。

js的路径是绝对的。

不起作用的js代码也粘贴在下面:

$(window).load(function(){

$.post("/product/prod_detail.php", { disp: "something"},
       function(responseText, responseStatus){ 
      $("#div_to_be_modified").html(responseText);
});
});

任何帮助高度赞赏。

2 个答案:

答案 0 :(得分:0)

在你的网址

product/display_detail.php?id=$3

但在所需的网址

product/some_thing_here/1234

产品之后只有2级深度/我认为此规则应该是

RewriteEngine On
RewriteBase /
RewriteRule ^product/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)$   product/display_detail.php?id=$2 [NC,L]

答案 1 :(得分:0)

RewriteCond%{REQUEST_FILENAME}! - f
RewriteRule ^ product /([A-Za-z0-9 - ] +)/([A-Za-z0-9 - ] +)/([A-Za-z0-9 - ] +)/?$ {{ 3}} $ 3 [NC,L]


请在重写规则之前尝试添加RewriteCond ...
如果没问题,请更新门票