gpt4 book ai didi

apache - 使用否定条件重写条件

转载 作者:行者123 更新时间:2023-12-04 19:09:17 24 4
gpt4 key购买 nike

我正在尝试重写所有 www.site.com/hello to www.site.com/index.php?p=hello它适用于以下代码(在 .htaccess 中):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/?$ /index.php?p=$1

但我想保持旧链接正常工作 www.site.com/?p=hello会留下 www.site.com/?p=hello
我试过下面的代码,但它不起作用
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\?p=)
RewriteRule ^([^/]*)/?$ /index.php?p=$1

最佳答案

我找到了答案。

错误是试图获取 GET参数与 REQUEST_URI .正确的用法应该是 QUERY STRING像这样:

RewriteCond %{QUERY_STRING} !(p=.*)$ 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/?$ /index.php?p=$1

关于apache - 使用否定条件重写条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882838/

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