我在c:wampwww
的本地主机上使用wamp。
项目位于:c:wampwwwMyProjpublic
(root)下。
在file1.php
(位于根)我有一个链接到一些假的url (/services/.....)。
我试图将该url重定向到其他文件service_router.php
(与file1.php方向相同)。
我在httpd.config:
中这样做<VirtualHost *:80>
ServerName 127.0.0.1
DocumentRoot c:wampwww
<Directory "c:wampwww">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/MyProj/public/services/*
RewriteRule . /MyProj/public/service_router.php
</VirtualHost>
但是我的WAMP拒绝重启。
我的配置有什么问题?
我可以提一些建议吗?
如果你想使用虚拟主机,我认为这是一个非常好的主意。首先,您需要确保localhost仍然可以工作,其次,将实际项目移出wamp
文件夹结构是个好主意。
因此,这将是您的第一个(或许多)VHOSTS的一个很好的起点
首先在任何驱动器上创建一个新的文件夹结构,例如
C:websitesproject1www
现在把你的项目复制到www文件夹。
现在设置vhosts
# must be first VHOST so the that localhost and the wamp menu page still work
# Also makes this the default site so any randon hacks on your ip address
# will come here and hopefully be rejected because it only 'Allows' access
# from this machine ( see Allow Deny )
<VirtualHost *:80>
DocumentRoot "D:/wamp/www"
ServerName localhost
ServerAlias localhost
<Directory "C:/wamp/www">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 localhost ::1
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/websites/project1/www"
ServerName project1.dev
ServerAlias www.dqsc.old
Options Indexes FollowSymLinks Includes ExecCGI
<Directory "C:/websites/project1/www">
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
除非你真的想让这个网站对世界可用我建议你不要使用Allow from all
。
尝试使用或第二个允许行,如果你想从内部网络上的任何机器看到你的网站,只需使用你的ip地址的4个四分位数中的前3个,它将允许从这3个四分位数开始的任何ip访问。
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 localhost ::1
Allow from 192.168.0
现在你需要修改你的HOSTS
文件,让windows知道你的新域名。
编辑c:windowssystem32driversetchosts
并添加新的站点名称project1.dev
,像这样,你必须启动你的编辑器'以管理员身份运行',因为这个文件是由windows保护的:-
127.0.0.1 project1.dev
现在重新启动"DNS客户端"服务刷新windows DNS缓存,所以它看到你的新域名。打开命令窗口,再次选择"以管理员身份运行"。
net stop "DNS Client"
net start "DNS Client"
你现在应该可以在浏览器中输入http://project1.dev
,它会找到你的新网站。
最后,一旦你测试你的网站是工作的,把url重写代码在.htaccess
文件在你的新项目的根目录。
C:websiteswwwproject1.htaccess