WAMP httpd.配置重定向



我在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

最新更新