apache - Apache RewriteRule 使用 httpd.conf NOT .htaccess 丢失文件夹和文件
问题描述
我在几个站点中有这个,卡在.htaccess
站点根目录的一个文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /rewrite.cfm?rewrite_path=$1 [L,R,QSA]
我可以在httpd.conf
文件中执行此操作吗?.htaccess
如果可能的话,我宁愿避免。
也欢迎其他建议。在 Centos 7 上使用 Apache 2.4
解决方案
httpd.conf
您可以在or中使用此修改后的规则.htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /rewrite.cfm?rewrite_path=$1 [L,QSA]
启动/
是可选的,因此规则在这两种情况下都有效,并且您必须删除R
(重定向)标志,因为意图是进行内部重写,而不是在浏览器中公开您的内部 URL 的重定向。
推荐阅读
- reactjs - Typescript React:提供多余属性时,道具的联合类型不显示错误
- java - 切换按钮以启动服务
- css - CSS 变形词/文本
- java - 致命错误:1:1:文件过早结束 - 在 Url.openStream() / 罗马工具中的新 XmlReader 中
- python - 如何在字符串中提取单词并放入数组 pandas
- json - Angular http获取数据并将json对象放入变量
- python - argparse 将位置参数汇集到多个列表中
- ios - SCNParticle系统崩溃
- google-sheets - 如果单元格中的值在同一列中有重复项,请删除两个单元格
- python - 从两个数据框中获取不常见的记录