apache 配置虚拟目录+默认页+隐藏index.php

配置虚拟目录+默认页

如果有多个项目文件夹,怎么配置让localhost指向其中的某个文件夹呢。

1.检查apache的配置文件httpd.conf,看Virtual hosts模块是否开启。

Include conf/extra/httpd-vhosts.conf 。前面的【#】需要去除。

2.打开httpd-vhosts文件, 这里由于80端口被占用了,所以用了8080


    ServerAdmin [email protected]
    DocumentRoot "C:\wamp\www\
myproject\"
    ServerName localhost
    ServerAlias localhost
   
        DirectoryIndex
  index.php
     

    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common

DocumentRoot:项目路径,上例为wamp里面的路径,apache中可以为/www/myproject/Web

ServerName:改为localhost,此配置也可以不需要的

DirectoryIndex:当输入localhost时,默认访问的页面

隐藏index.php

如果需要将127.0.0.1/index.php 改为通过127.0.0.1/index。来访问该怎么实现呢?

这里需要使用apache的Rewrite功能。

1.检查apache的配置文件httpd.conf,看rewrite_module模块是否开启。

LoadModule rewrite_module modules/mod_rewrite.so。前面的【#】需要去除。

2.设置httpd-vhosts文件内容


        RewriteEngine On
        RewriteCond %{REQUEST_URI} !^/(css|js|images|ajax)/.*$
        RewriteRule ^(.+)$ /
index.php/$1
        ServerAdmin [email protected]
        DocumentRoot "C:\wamp\www\
myproject"
        ServerName localhost
        ServerAlias localhost
       
            DirectoryIndex
index.php
         
        ErrorLog "logs/dummy-host.example.com-error.log"
        CustomLog "logs/dummy-host.example.com-access.log" common
       

RewriteEngin:设置为【on】,表示路由开启

RewriteCond:路由条件,这里设置如果是访问(css,js,images,ajax)文件夹,则不需要路由

RewriteRule:除了路由条件里面排除的,访问其它的地址,都将跳转到index.php里操作

你可能感兴趣的:(php)