You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS服务器Yarn部署KPlaySearch后URLRewrite外部搜索失效排查求助

Troubleshooting KPlaySearch Search Box Failure on IIS External Domain Access

Hey there, let's break down why your bottom non-iframe search box isn't working when accessing KPlaySearch via your external domain—even though the page loads fine. Here are the most likely fixes to check step by step:

1. Verify Frontend API Request Path Configuration

First, the search box probably relies on API calls that work locally but break under your subdomain path (/google/play/adsfree/):

  • Open your KPlaySearch project's configuration files (look for config.js, .env, or api.js).
  • Check if the API base URL is hardcoded to http://localhost:3030—if so, this will cause cross-origin issues when accessed via your external domain. Instead, use a relative path like /api (if your backend serves API endpoints from the root) or update it to your full external domain path (http://xn--ida.gt/google/play/adsfree/api).
  • If your app uses a frontend framework (like React/Vue), ensure the base URL/routing basename is set to /google/play/adsfree/—this ensures all relative requests (including API calls) resolve correctly under the subdirectory.

2. Fix IIS URL Rewrite Rules

Your current rewrite rule might only handle the initial page load, not subsequent API requests from the search box:

  • Open IIS Manager, go to your site's URL Rewrite module.
  • Edit your existing rule or create a new one with these settings:
    • Pattern: ^google/play/adsfree/(.*)
    • Action type: Rewrite
    • Rewrite URL: http://localhost:3030/{R:1}
    • Make sure Append query string is checked, and Stop processing of subsequent rules is enabled.
  • This rule ensures every request under /google/play/adsfree/ (including API calls like /google/play/adsfree/api/search) gets forwarded to the corresponding path on localhost:3030.

3. Ensure ARR (Application Request Routing) is Installed

URL Rewrite needs ARR to function as a reverse proxy for API requests:

  • Open IIS Manager, check if you see the Application Request Routing Cache icon under the server node. If not:
    • Open the Web Platform Installer, search for "Application Request Routing 3.0", install it.
    • After installation, go to ARR settings, enable Proxy (under Server Proxy Settings).

4. Check for CORS Issues

Even with rewrite rules, misconfigurations can lead to cross-origin blockages:

  • Open your browser's DevTools (F12), go to the Network tab, then trigger a search with the problematic box.
  • Look for the search API request:
    • If it returns a 403 or a CORS error, configure your KPlaySearch backend to allow requests from http://xn--ida.gt.
    • For Node.js/Express apps, use the cors package and set origin: "http://xn--ida.gt" in the middleware.

5. Test Direct API Access

To isolate the issue:

  • Try accessing http://xn--ida.gt/google/play/adsfree/api/search?q=test directly in your browser.
  • If this returns an error (like 404), your rewrite rule isn't forwarding API paths correctly. If it works, the issue is likely in your frontend's request formatting.

内容的提问来源于stack exchange,提问作者Alejandro B. Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 19:03:12