我想运行一个Ajax调用,但由于我的htaccess重写规则,我在找到script.php文件时遇到问题。我在同一个文件夹中有一个index.php,script.php和.htaccess。 在htaccess中,有一个RewriteRule将这个“domain.com/index.php?bla=123”的URL格式化为这个“domain.com/123”。
然而,我的javascript无法找到PHP脚本,因为当URL变为“domain.com/asdf/”时,路径设置为“script.php”。知道如何通过root或FAKE目录从js运行脚本。
url: "script.php" || "../script.php",
答案 0 :(得分:1)
您可以使用内联条件,例如:
url: (4 > 2 ? "script.php" : "../script.php"),
在此示例中,您将始终以url“script.php”结束,因此请根据自己的需要更改4 > 2
条件
答案 1 :(得分:0)
根据对您情况的进一步说明,您应该只能使用"/script.php"
作为ajax调用的路径。在javascript中,使用/
启动路径会将您带到服务器的根目录;因此,无论当前页面位于何处,您都可以从那里继续查找脚本文件。
如果由于某种原因这不起作用,您可以使用window.location.hostname
来获取服务器的路径,如下所示:
var scriptUrl = window.location.hostname + "/script.php";
修改强>
根据您的评论,您的路径必须是/something/script.php
,而不仅仅是/script.php
两种可能的解决方案。