apache的MultiViews的问题

问题:

前提:ThinkPHP框架
今天配置服务器访问路径如下:

http://**.com/index/index
发现最后得到的$_SERVER的[PATH_INFO]的值只有/index
这样其实就是默认访问了index控制器,而并没有直接访问到index方法
也就是当url改为:
http://**.com/index/find
的时候的$_SERVER的[PATH_INFO]的值只有/find
这样其实就是访问了find控制器,而并没有直接访问到index控制器的find方法

以上问题所在。

解决

查找了半天觉得肯定是$_SERVER的问题,也就是服务器apache的配置问题,所以进一步查询了一下发现,apache的MultiViews选项的作用如下:

MultiViews的作用是当访问到目录中不存在的对象时,
如访问"http://localhost/test/target",
则apache会寻找该目录下的所有target.*文件.
如果test目录下存在target.jpg文件,
则会把这个文件返回给客户,
而不是返回出错信息.
再分析一下我们现在面对的实例.由于MultiViews的特性,
当访问“http://servername/Index/index”时.
由于根目录下存在index.php文件
所以上面的访问会变成这样:
"http://servername/Index.php/index"

所以会出现访问不到想要的方法的问题。也就是想要访问到就把配置文件中的:

<Directory  "/www/demo">
        Options +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>

的+MultiViews去掉

以上

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache服务器配置分为以下几个步骤: 1. 安装Apache服务器:在Linux系统上,可以通过包管理器安装Apache服务器,例如在Ubuntu系统上可以通过apt-get命令进行安装:`sudo apt-get install apache2` 2. 配置虚拟主机:Apache服务器可以配置多个虚拟主机,每个虚拟主机可以有自己的域名和网站根目录。在Ubuntu系统上,可以在`/etc/apache2/sites-available`目录下创建一个新的配置文件,例如`mywebsite.conf`,并按照以下格式进行配置: ``` <VirtualHost *:80> ServerName mywebsite.com DocumentRoot /var/www/mywebsite <Directory /var/www/mywebsite> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/mywebsite_error.log CustomLog /var/log/apache2/mywebsite_access.log combined </VirtualHost> ``` 其中,`ServerName`指定虚拟主机的域名,`DocumentRoot`指定网站根目录,`<Directory>`标签内的内容指定了访问权限和配置项,`ErrorLog`指定错误日志文件的路径,`CustomLog`指定访问日志文件的路径。 3. 启用虚拟主机:在Ubuntu系统上,可以使用`a2ensite`命令启用一个虚拟主机配置文件:`sudo a2ensite mywebsite.conf` 4. 配置SSL:如果需要启用HTTPS协议,需要配置SSL证书。在Ubuntu系统上,可以使用`certbot`工具申请Let's Encrypt免费SSL证书:`sudo certbot --apache` 以上是Apache服务器配置的基本步骤,根据具体需求可以进行更详细的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值