root和子文件夹中的.htaccess,每个都重定向到自己的index.php

前端之家收集整理的这篇文章主要介绍了root和子文件夹中的.htaccess,每个都重定向到自己的index.php前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为一个看似重复的问题道歉,但我看过的几十个问题实际上都没有同样的问题.

我有以下目录结构:

/.htaccess
/index.PHP
/subfolder/.htaccess
/subfolder/index.PHP

我希望所有页面请求都由/index.PHP处理,除非请求启动/子文件夹,在这种情况下它应由/subfolder/index.PHP处理

>例如/ abc被重写为/index.PHP?u=abc
>例如/ subfolder / def被重写为/subfolder/index.PHP?u=def

我已经绕过这个圈子了,所以任何帮助都将受到大力赞赏.

编辑:忘了提问题!
文件夹中的请求由根index.PHP处理,而不是子文件夹. (/ subfolder请求除外)

当前文件内容

/.htaccess

Options -Indexes -MultiViews +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$/index.PHP?u=$1 [NC,QSA]

/subfolder/.htaccess

RewriteBase /admin/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$/admin/index.PHP?u=$1 [NC,QSA]

解决方法

你的root .htaccess是这样的:
Options -Indexes -MultiViews +FollowSymLinks
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!admin/)(.+)$/index.PHP?u=$1 [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^admin/(.+)$/admin/index.PHP?u=$1 [NC,L]

对于这个简单的要求,管理文件夹中不需要.htaccess.

猜你在找的Linux相关文章