加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Mod_rewrite – 重写条件不起作用

发布时间:2020-12-13 22:43:38 所属栏目:PHP教程 来源:网络整理
导读:我正在构建一个php框架,将所有流量重定向到ROOT / public / index.php,然后将url放入get请求中.我的问题是我的RewriteConds没有工作,正在接受文件和foldernames. 在根目录中 IfModule mod_rewrite.c RewriteEngine on RewriteRule ^$ public/ [L] RewriteRul
我正在构建一个php框架,将所有流量重定向到ROOT / public / index.php,然后将url放入get请求中.我的问题是我的RewriteConds没有工作,正在接受文件和foldernames.

在根目录中

<IfModule mod_rewrite.c>

 RewriteEngine on
 RewriteRule    ^$   public/    [L]
 RewriteRule    (.*) public/$1    [L]

</IfModule>

<files .htaccess>

 order allow,deny
 deny from all

</files>

在公共目录中

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$index.php?url=$1 [PT,L]

</IfModule>

解决方法

[L]标志告诉Apache在匹配规则后停止重定向.因此,假设您的ROOT文件夹首先出现,它将在重定向时运行并停止,这将导致第二个重定向无用.

要解决这个问题,请:

RewriteEngine on
 RewriteRule    ^$   public/   
 RewriteRule    (.*) public/$1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读