dongliuzi3410
2015-02-10 13:38
浏览 553
已采纳

使用.htaccess将所有请求重定向到index.php

I am writing my own PHP MVC framework. My web server is installed to /public and i made a directory named myframework. under this directory i have some sub directory and i want to redirect all requests to myframework/public/index.php and also i want to have request url. I made .htaccess file under myframework directory like below:

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

It works for all requests but localhost/myframework/. It does nothing when this request is coming. How can i fix it?

图片转代码服务由CSDN问答提供 功能建议

我正在编写自己的PHP MVC框架。 我的Web服务器安装到/ public,我创建了一个名为myframework的目录。 在这个目录下我有一些子目录,我想将所有请求重定向到myframework / public / index.php,我也想要请求url。 我在myframework目录下创建了.htaccess文件,如下所示:

  RewriteEngine on 
RewriteCond%{REQUEST_FILENAME}!-d 
RewriteCond%{REQUEST_FILENAME}!-f 
RewriteRule ^(。  *)$ /myframework/public/index.php?q=$1 [L,QSA] 
   
 
 

它适用于除localhost / myframework /之外的所有请求。 当此请求到来时,它什么都不做。 我该如何解决?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doudaotui4297 2015-02-10 13:43
    已采纳

    This line

    RewriteCond %{REQUEST_FILENAME} !-d
    

    says not to rewrite when the request points to a real directory, which is what localhost/myframework/ is requesting. Take it out and your rewrite should kick in.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题