为了账号安全,请及时绑定邮箱和手机立即绑定

仅使用 Htaccess 删除指定 URL 的子文件夹 [Codeigniter]

仅使用 Htaccess 删除指定 URL 的子文件夹 [Codeigniter]

PHP
慕码人2483693 2022-01-14 18:05:48
我的文件夹结构根域assets/ (包含 css, images, js 文件夹)子文件夹/(包含内部的 Codeigniter 项目和单独的 .htaccess)索引.php联系人.php.htaccess根 HtaccessOptions +FollowSymLinksRewriteEngine onRewriteCond %{REQUEST_URI} !(.*)subfolderRewriteRule ^(.*)$ subfolder/$1 [L]子文件夹(Codeigniter 项目)HtaccessDirectoryIndex index.php index.html<IfModule mod_rewrite.c>RewriteEngine OnRewriteCond $1 !^(index\.php|assets|install|update)RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-d# For godady Shared Hosting Server uncomment the line belowRewriteRule ^(.*)$ index.php?/$1 [L]</IfModule>子文件夹 URL 列表http://example.com/subfolder/products/http://example.com/subfolder/product/product-slug-123根 URL 列表http://example.com/index.phphttp://example.com/contact.php在我的 Codeigniter 项目中,我将Products控制器设置为default_controller. 所以问题是,当我尝试访问根文件夹中的 index.php 页面时,它只将 Codeigniter 产品列表显示为主页。我需要以下网址:http://example.com/index.phphttp://example.com/contact.phphttp://example.com/products/http://example.com/product/product-slug-123任何带有 htaccess 或代码的解决方案?
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

最后我得到了这个工作。


RewriteCond %{REQUEST_URI} !((.*)subfolder|^/assets) // to Exclude this

RewriteCond %{REQUEST_URI} (^/products(.*)|^/product(.*)) // to Include this

RewriteRule ^(.*)$ subfolder/$1 [L]

感叹号(!)符号用于“不”匹配的网址。


所以我删除了感叹号并使用另一个 RewriteCond (条件)仅当 url 包含段 asproducts或product http://example.com/products/或http://example.com/product/product-slug-123时才重定向。它现在工作得很好。我想,分享这个对某人有用。快乐编码。


查看完整回答
反对 回复 2022-01-14
  • 1 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信