我使用mod_rewrite以下列格式重新映射网站中的网址:
http://www.mydomain.com/health/54856
问题是我正在对文件进行AJAX调用:http://www.mydomain.com/login.php
我不想写完整的网址,甚至不想使用../
技巧,因为没有固定级别的文件夹。
所以,我想要的是从root用户访问login.php,无论域名是什么:
$.ajax({
type: "POST",
url: "http://www.mydomain.com/login.php"
});
答案 0 :(得分:21)
怎么样:
$.ajax({
type: "POST",
url: "/login.php"
});
确保您允许从mod_rewrite规则访问/login.php
。
答案 1 :(得分:5)
您还可以为JS定义一个变量,以便在HTML头中使用:
<script type="text/javascript">
// siteRoot will be equal to http://www.yourdomain.com/
var siteRoot = '<?php echo $theSiteRoot; ?>';
<script>
然后在您的AJAX调用中附加siteRoot变量。
$.ajax({
type: "POST",
url: siteRoot+"login.php"
});
只需确保在包含.js文件之前打印siteRoot变量。
另一种实现此功能的方法是使用HTML基本标记。所有客户端请求都将在该目标上进行。在任何链接/脚本声明之前包含它。
<base href="<?php echo $theSiteRoot; ?>" />
希望这会有所帮助:)
修改强>
如果您使用基本标记方法,则不需要向AJAX调用添加任何内容。只是一个普通的电话就行了。
$.ajax({
type: "POST",
url: "login.php"
});