apacherewrite与optionsmultiviews不得不说的秘密

OS:ubuntu 14.01

成都创新互联公司是一家集网站建设,岳塘企业网站建设,岳塘品牌网站建设,网站定制,岳塘网站建设报价,网络营销,网络优化,岳塘网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

Web Server:Apache/2.4.12

使用TP框架,伪静态去除index.php

.htaccess内容:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

访问地址:http://domain/index/test

apache跳转 404 not found

通过google发现

http://stackoverflow.com/questions/21698245/404-returned-though-rewrite-rule-is-matched

需要在虚拟主机配置文件更改配置,我本机虚拟主机配置已经有Options Multiviews,需要更改

Options -Multiviews 查阅相关资料发现

Multiviews:

Using a \'MultiViews\' search, where the server does an implicit filename pattern match and chooses from among the results. 英文略渣,以下是翻译结果

在服务器做一个隐含的文件名模式匹配和选择的结果。

如果访问地址是http://domain/index/test,而根目录下有index.php,则该地址会被解析为http://domain/index.php/test

在rewrite index/test,apache会寻找目录下是否有index.php文件,如果有就访问此文件,类似如果地址为other/info,则会寻找other.php文件


文章标题:apacherewrite与optionsmultiviews不得不说的秘密
文章出自:http://scyanting.com/article/cjijpp.html