apache php 但入口,用 apache rewrite 和 php 实现单一入口时候出现的一个问题

你的规则有问题。

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 行不通的,正确的应该是 RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]。? 才会吧后面的 $1 传给 index.php,而 / 告诉 apache 查找 index.php/ 目录下的 index 文件,自然是 404。

你可以添加如下配置到 httpd.conf,调试 mod_rewrite,通过查看 rewrite.log 文件可以知道通过 rewrite 得到的路径到底是什么,完成调试后移除这个配置,否则会有些性能安全方面的影响。# 输出调试信息到 rewrite.log

RewriteLog "/var/log/apache2/rewrite.log"

RewriteLogLevel 3

另外,rewrite 规则完全没有必要写道 httpd.conf 里面,使用 .htaccess 比较好。

httpd.confDocumentRoot /home/www

Options FollowSymLinks

AllowOverride None

#AllowOverride All

Options Indexes FollowSymLinks MultiViews

AllowOverride None

#AllowOverride All

Order allow,deny

allow from all

DirectoryIndex index.php index.html index.htm

/home/www/.htaccess

RewriteEngine on

#不显示index.php

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值