apache - htaccess 重定向参数并排除一个文件夹
问题描述
我一直在尝试一些排列,但仍然无法弄清楚。我有3个要求:
- 转发从 xxx.php 到 xxx 的所有内容
- mydomain/sentence 实际上会加载 mydomain/page?q=sentence
- 排除文件夹,例如 mydomain/logs
所以我设法让前两个工作使用:
Options +FollowSymLinks
RewriteEngine On
#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]
# RewriteRule ^([^\.]+)$ $1.php [NC,L]
如果我取消注释第三行,一切都会中断。任何帮助表示赞赏!另外请指出我可能遇到的任何错误。提前致谢!我为糟糕的格式道歉。不管我怎么打,编辑总是报错。
解决方案
您可以尝试以下规则以仅重定向到实际存在的 PHP 文件。我也相信这条规则必须在另一个重写规则之前,因为另一个规则的条件也会匹配。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]
推荐阅读
- scripting - 如何从服务器调用游戏中物品的铸币功能但用户支付费用
- java - Thingsboard - release-3.3 编译问题
- python-3.x - 如何在循环内按类别打印预测
- javascript - 防止在基本银行应用程序上重置总数
- java - 如何在 JavaFX 中使一个区域与另一个区域相等?
- arrays - 如何在 Core Data iOS Swift 中删除和更新结构类型数组?
- flask - 当我通过 conda 安装烧瓶时,它会抛出错误 [PermissionError 13, Permission Denied]?
- javascript - 更深入地理解 React 事件冒泡/传播和状态管理
- r - Finalfit:将 summary_factorlist 与多变量 cox 模型合并后的格式表
- javascript - countDocuments() 在 api 调用中不起作用