我知道这个问题已被问过很多,但我不知道为什么它对我不起作用: - ? 这是我的htaccess:
Options +FollowSymLinks
IndexIgnore */*
# Turn on the RewriteEngine
RewriteEngine On
# Rules
RewriteRule ^(.*)$ index.php
这段代码应该用任何路径重写任何链接,包括任何子域到index.php,但它不会。
域名也不应该进入htaccess,因为它是未知的! 我将此htaccess称为127.0.0.1,许多网站应该链接到localhost:
的/ etc /主机
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。
的index.php
<?php
$uri = 'http'. ($_SERVER['HTTPS'] ? 's' : null) .'://'. $_SERVER['HTTP_HOST'].$_SERVER[REQUEST_URI];
print_r($uri);
?>
有没有人知道这个.htaccess代码对于子域名是如何工作的呢?
答案 0 :(得分:1)
如果我理解你的问题,你会问为什么google.com
正确加载了localhost上的index.php,但是sub1.google.com
等子域名没有。
您无法使用hosts
文件覆盖子域DNS。要完成此操作,您需要将所有子域添加到hosts
文件,或者设置一个私有DNS服务器,其中google.com
和*.google.com
的记录指向127.0.0.1。