我有一个像这样的 htaccess 文件
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/(.*)$ /us/index.php?state=$1&city=$2 [L]
我有一个名为 getuser.php 的文件,它是一个从 index.php 中的 AJAX 调用中调用的 php 文件。如果我不使用重定向,调用工作正常,但由于重定向,我让它干扰 AJAX 调用并重定向 getuser.php 调用以及从帖子中重定向,这只会导致在顶部再次显示 index.php 文件我的当前页面。有没有一种方法可以让重定向不担心 AJAX 调用,这样它就可以在不影响当前重定向的情况下简单地在我的页面上显示我的结果。
我尝试添加以下内容,这只会导致 AJAX 中断而不工作,因为它不允许对 getuser.php 文件进行调用。如有任何帮助,我们将不胜感激。
RewriteCond %{REQUEST_URI} !/getuser\.php
最佳答案
试试这个,L 标志应该告诉 apache 这是最后一条规则,并且只转到请求的 url。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/getuser\.php$ $0 [L]
RewriteRule ^([^/]+)/(.*)$ /us/index.php?state=$1&city=$2 [R=301,L]
关于php - 如何不在来自 AJAX POST 调用的文件上包含 htaccess 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13962100/