我正在尝试在本地设置我的网络文件以进行测试。我的文档文件夹中有我的站点文件。我安装了xampp并设置了apache来使用baseball.dev打开我的本地网站。但是当我尝试使用它时,baseball.dev会重定向到实时网站。我不知道为什么。
我的httpd-vhosts文件:
<VirtualHost *:80>
DocumentRoot "C:/Users/Kirst/Documents/GitHub/baseball-for-busy- people/"
ServerName baseball.dev
ServerAlias www.baseball.dev
<Directory "C:/Users/Kirst/Documents/GitHub/baseball-for-busy-people/">
AllowOverride All
Require all Granted
</Directory>
</VirtualHost>
我的主人档案:
127.0.0.1 www.baseball.dev
文件夹中有一个包含网站文件的htaccess文件。我认为这可能会导致问题,但是当我移动或评论它时,它没有任何效果。这是该文件:
# Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
# For security reasons, Option followsymlinks cannot be overridden.
# Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteBase /
# Rewrite baseballforbusypeople.com as www.baseballforbusypeople.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.baseballforbusypeople.com$ [NC]
RewriteRule ^(.*)$ http://www.baseballforbusypeople.com/$1 [L,R=301]
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# Remove .html-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^\.]+)/$ $1.html
# End of Apache Rewrite Rules
</IfModule>
答案 0 :(得分:3)
明显的第一选择是在Windows上使用ipconfig /flushdns
刷新。您是否确认主机名www.baseball.dev确实指向127.0.0.1
另外我注意到htaccess文件包含以下指令:RewriteCond %{HTTP_HOST} !^www.baseballforbusypeople.com$ [NC]
据我的知识延伸,它会重写.htaccess包含在www.baseballforbusypeople.com网站的网站的任何请求我猜的是现场网站。
答案 1 :(得分:3)
以下行导致重定向:
RewriteCond %{HTTP_HOST} !^www.baseballforbusypeople.com$ [NC]
RewriteRule ^(.*)$ http://www.baseballforbusypeople.com/$1 [L,R=301]
因此,对www.baseball.dev
的请求将重定向到www.baseballforbusypeople.com
。
在您的开发服务器上,对上述行进行注释,并在生产服务器上取消注释。
另外,如果您仍然遇到重定向,请务必清除浏览器缓存。