如何实现域名全路径跳转?求服务器单文件脚本解决方案
带路径的域名跳转实现方案
一、Nginx 服务器配置
如果你的服务器使用Nginx,修改站点配置文件(例如/etc/nginx/sites-available/yourdomain.conf),添加以下规则:
server { listen 80; listen [::]:80; server_name domain.com; # 301为永久跳转,如需临时跳转可改为302 return 301 https://otherdomain.com/x/index.php$request_uri; }
$request_uri会自动携带原请求的完整路径与参数,无论原路径是单层(如/fefeg)还是多层(如/xxx/xxx),都会被追加到目标URL后。修改完成后重启Nginx生效:
sudo systemctl restart nginx
二、Apache 服务器配置
若服务器为Apache,在站点根目录创建.htaccess文件,写入以下内容:
RewriteEngine On RewriteCond %{HTTP_HOST} ^domain.com$ [NC] RewriteRule ^(.*)$ https://otherdomain.com/x/index.php/$1 [R=301,L]
^(.*)$匹配所有路径内容,$1将匹配到的路径部分替换至目标URL中;R=301表示永久跳转,L标记为最后执行的规则。需确保Apache已开启mod_rewrite模块,若未开启执行以下命令:
sudo a2enmod rewrite
之后重启Apache生效:
sudo systemctl restart apache2
三、单文件PHP脚本(无需服务器配置)
如果不想修改服务器配置,直接上传一个index.php文件到站点根目录,内容如下:
<?php $path = $_SERVER['REQUEST_URI']; $targetUrl = 'https://otherdomain.com/x/index.php' . $path; // 301永久跳转,改为302可实现临时跳转 header("HTTP/1.1 301 Moved Permanently"); header("Location: " . $targetUrl); exit; ?>
确保服务器支持PHP,且站点默认首页包含index.php(多数服务器默认已配置)。此后访问domain.com下任意带路径的链接,都会自动跳转至目标域名并携带原路径。
内容的提问来源于stack exchange,提问作者user3283015
相关产品推荐
相关产品推荐

