RewriteRule 无法编译正则表达式

2023-12-15

我以前的服务器工作正常。今天我更换了新服务器,并且 RewriteRule 无法在我的 htaccess 上编译正则表达式。

如何修复这条线。

RewriteRule ^category/([0-9]+)(?:/([^/]+)(?:/([^/]+))?)(?:/([^/]+)(?:/([^/]+))?)?/$ ./category.php?pid=$1&catname=$2&page=$3 [L]

让我知道 :)


您可能使用不同的 Apache 版本和不同的正则表达式引擎。自 1.3 起的 Apache 版本使用 POSIX ERE,而自 2.0 起的版本使用 PCRE。并且只有PCRE支持非捕获组(?:expr).

因此尝试一种没有它们的模式:

RewriteRule ^category/([0-9]+)(/([^/]+)(/([^/]+))?)(/([^/]+)(/([^/]+))?)?/$ ./category.php?pid=$1&catname=$3&page=$5 [L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RewriteRule 无法编译正则表达式 的相关文章

随机推荐