0

我知道这个问题被问了很多,但我不知道为什么它对我不起作用:-?这是我的 htaccess:

Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
#  Rules
RewriteRule ^(.*)$ index.php

这段代码应该用任何路径重写任何链接,包括 index.php 的任何子域,但事实并非如此。

域名也不应该进入htaccess,因为它是未知的!!!我从 127.0.0.1 调用这个 htaccess,许多网站应该链接到 localhost:

/etc/hosts

127.0.0.1   localhost
127.0.1.1   mypc
127.0.0.1   google.com
127.0.0.1   example.com

在这里,我的浏览器确实成功浏览了 google.com 或 example.com,但找不到它们的子域,例如 sub1.google.com 或 sub1.example.com。

索引.php

<?php
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'].$_SERVER[REQUEST_URI];
print_r($uri);
?>

有谁知道这个 .htaccess 代码也适用于子域吗?

4

1 回答 1

1

如果我正确理解了您的问题,那么您是在问为什么google.com在本地主机上正确加载 index.php 而sub1.google.com等子域却没有。

您不能使用该hosts文件覆盖子域 DNS。为此,您需要将所有子域添加到hosts文件中,或者设置一个私有 DNS 服务器,其中记录google.com*.google.com指向 127.0.0.1。

于 2013-05-19T19:44:30.710 回答