.htaccess htaccess是否将根url重写为子文件夹并访问其他文件夹?

mefy6pfw  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(208)

我在apache服务器中有以下文件夹结构。

Public_html
-->admin
    --->admin_login.php
-->website
    --->index.php

由于index.php在网站文件夹内,我已经给出了下面的代码在.htaccess

RewriteCond %{REQUEST_URI} !^/website/
RewriteRule ^(.*)$ /website/$1 [L,NC]

以便当用户输入根url时,它将出现“www.myurl.com“而不是“www.myurl.com/website/“
但问题是,我无法访问admin_login. php。
有没有办法修改.htaccess,在主url中加入website/index.php,并能够访问admin_login.php(两者都有)?
提前致谢

8wigbo56

8wigbo561#

您需要向现有规则添加一个例外,如下所示:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/(website|admin)/ [NC]
RewriteRule .* website/$0 [L]

否定条件%{REQUEST_URI} !^/(website|admin)/将匹配除以/website//admin/开头的URI之外的所有URI。这将允许您直接打开www.myurl.com/admin/admin_login.php

tkclm6bt

tkclm6bt2#

使用显示示例和尝试,请尝试以下.htaccess规则文件请确保在测试URL之前清除浏览器缓存

RewriteEngine ON
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php/?$ website/index.php [QSA,NC,L]

相关问题