gpt4 book ai didi

regex - RewriteRule 不适用于加号(+ 或 *)字符

转载 作者:行者123 更新时间:2023-12-04 15:33:16 24 4
gpt4 key购买 nike

RewriteRule ^([a-z]).php$  /index.php?zig=$1 [NC,L] # working

此规则工作正常。但
RewriteRule ^([a-z]+).php$  /index.php?zig=$1 [NC,L] # not working

或者
RewriteRule ^([a-z]\+).php$  /index.php?zig=$1 [NC,L] # not working

不管用。区别是 ( + )。使用方法 +在上面的代码中?

最佳答案

这条规则很好:

RewriteRule ^([a-z]+)\.php$  /index.php?zig=$1 [NC,L]

但自从重写 URI /index.php 后会创建一个无限循环也匹配正则表达式模式。为了防止这种情况,您需要进行一些更改,例如防止文件/目录重写并转义点,因为它是一个特殊的正则表达式元字符:
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)\.php$ index.php?zig=$1 [QSA,NC,L]
QSA (Query String Append) 标志在添加新参数时保留现有查询参数。

关于regex - RewriteRule 不适用于加号(+ 或 *)字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com