RewriteRule不适用于.htaccess中的尾部斜杠

我的.htaccess中有一个RewriteRule,它几乎可以按我的要求工作。我想要的是一个与可选的斜杠一起使用的规则。

foo.com/bar   > foo.com/index.php?p=bar
foo.com/bar/  > foo.com/index.php?p=bar

我有这个

RewriteEngine On
RewriteCond %{REQUEST_URI} !^(\.png|\.jpg|\.gif|\.jpeg|\.bmp|\.pdf)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/?$ index\.php\?p=$1 [NC,L]

但这在添加斜杠后似乎不起作用。

阿努巴瓦

您可以使用此规则来允许使用可选的斜杠:

RewriteCond %{REQUEST_URI} !\.(png|jpe?g|gif|bmp|pdf)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ index.php?p=$1 [QSA,L]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

.htaccess RewriteRule不适用于“ /”

为什么 .htaccess RewriteRule 不适用于根路径 / 但适用于所有其他文件和子目录?

URL重写不适用于.htaccess

盗链保护不适用于 .htaccess

不适用于Kotlin中的ArrayList

VSCode Vim搜索不适用于正斜杠

模式捕获不适用于正斜杠

Python:string.rfind() 不适用于反斜杠 ('\')

正则表达式 nginx 删除尾部斜杠不适用于 2 个文件夹?

文件 .htaccess 不适用于具有破折号且未应用第二个 RewriteRule 的 URL

.htaccess重定向仅适用于某些页面,而不适用于其他页面

.htaccess规则不适用于奇怪的字符

htaccess 文件不适用于特殊字符

HTTP到HTTPS重定向不适用于.htaccess

.htaccess重定向不适用于查询网址

.htaccess密码保护不适用于ErrorDocument 401

htaccess未重写的参数不适用于重写的参数

.htaccess URL重写不适用于“?” 符号作为数据

htaccess重定向不适用于参数

htaccess网址重写不适用于配置设置

htaccess重定向不适用于[R = 301,L]

外部库参考适用于Webpack,但不适用于Aurelia中的JSPM

iframe中的PDF-适用于Firefox,但不适用于OSX上的Chrome

Express 中的 CORS 适用于 Safari,但不适用于 Chrome

Perl - foreach 中的 grep 不适用于 $_ 但适用于变量

适用于TMB的C ++,而不适用于Knitr中的Rcpp

C ++中的函数重载。不适用于float,适用于double

更改 tkinter 中按钮的颜色适用于 Windows,但不适用于 Mac OSX

Python中的Selenium预期条件适用于Firefox,但不适用于Chrome