apache - 重定向到 index.php 并删除尾部斜杠 .htaccess
问题描述
这里似乎有很多这样的问题,但找不到适合我当前代码的答案:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ public/index.php [QSA,L]
这会将所有内容重定向到public/index.php
可以正常工作的所有内容,但我想摆脱尾部斜杠,这样example.com/foo/
就变成了example.com/foo
解决方案
您可以在当前规则之前插入尾部斜杠删除代码:
RewriteEngine On
## Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/+$
RewriteRule ^ %1 [R=301,NE,L]
## forward all requests to public/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ public/index.php [L]
推荐阅读
- terraform - Terraform:迭代和跳过特定的索引值
- android - Android NDK RegisterNatives 更完整的例子
- python - 没有为任何变量提供渐变:['generated_image:0']
- javascript - 为什么`this`返回对象,为什么?
- css - CSS 关键帧动画在 Safari 中不起作用(尝试过其他线程)
- javascript - 随机化颜色对 onclick (CSS, JavaScript)
- sql - 在 Oracle 中增加一天但丢失小时和分钟,格式也在发生变化
- linux - 如果 Input_file 中的列存在于查询文件中,则打印“YES”以及 file_name 中表中的列作为标题
- reactjs - 我们如何将一个组件的功能使用到另一个js文件中
- javascript - 如何使用javascript过滤对象数组中的对象数组?