首页  >  问答  >  正文

问题:使用重写规则将一个文件夹重定向到一个同名的PHP文件时出现的问题

直接有根目录,如下所示,如您所见,我有一个文件夹文件,其名称与商店相同,您可以让我知道如何在 .htaccess 中编写 RewriteRule 来重定向任何请求,例如

http://clients/shop/http://clients/shop

http://clients/shop.php

我已经尝试过了

RewriteRule ^shop/(.+) shop.php [L,R]

但这将错误的 地址添加到 URL 中

======================

更新

====================

好吧,我发现这个解决方案在某种程度上有效

DirectorySlash Off 
RewriteEngine on 
RewriteCond %{THE_REQUEST} \s/+shop [NC]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)  /.php [R=302,L]

但是,只有当请求像 http://clients/shop 时才可以,并且当请求像 http://clients/shop/ 时它显示目录页面

P粉787820396P粉787820396171 天前413

全部回复(1)我来回复

  • P粉129275658

    P粉1292756582024-04-05 10:46:58

    这应该可以完成你的工作

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /shop [NC]
    RewriteRule ^shop - [R=404,L]
    
    RewriteRule ^shop/(.*)$ shop.php [L,NC]

    回复
    0
  • 取消回复