apache - 如何使用 Apache mod_rewrite RewriteCond 重定向链接?

标签 apache mod-rewrite

我在重定向链接时遇到一些困难。这是一个简单的例子,我希望你能告诉我我缺少什么导致它失败。

RewriteCond %{QUERY_STRING} NAV=PIXIES
RewriteRule ^/category.asp?NAV=PIXIES /category/pop-artpixies-trade- [R=301,L,NE]

请告诉我我可以提供哪些进一步的信息。

最佳答案

查询字符串未包含在 RewriteRule 指令中匹配的 URI 中:

RewriteCond %{QUERY_STRING} NAV=PIXIES
RewriteRule ^/category.asp$ /category/pop-artpixies-trade- [R=301,L,NE]

如果它位于 .htaccess 文件内,则需要删除正则表达式匹配中的前导斜杠:

RewriteRule ^category.asp$ /category/pop-artpixies-trade- [R=301,L,NE]

如果您想实际从查询字符串中删除 NAV=PIXIES (因为上述规则会将 http://domain/category.asp?NAV=PIXIES 重写为 http://domain/category/pop-artpixies-trade-?NAV=PIXIES ),那么您需要加一个“?”到目标的末尾:

RewriteRule ^category.asp$ /category/pop-artpixies-trade-? [R=301,L,NE]

关于apache - 如何使用 Apache mod_rewrite RewriteCond 重定向链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794226/

相关文章:

python - 在自己的 Ubuntu 服务器上部署 Flask 应用程序错误

php - 增加 php 的执行时间

php - 如何检查服务器上是否启用了 mod_rewrite?

apache - 重命名 URL 中的文件(.php 文件)

redirect - Apache httpd.conf,用于将ip重定向到主机名

apache - 如何将db目录添加到web.xml

wordpress - mod_rewrite 与 mod_rewrite.c,有区别吗?

php - 重写index.php最佳实践

.htaccess - htaccess 不起作用 - 简单的重写规则在我的网站上没有执行任何操作

php - Apache 重写语法中 PHP 的 dirname(__FILE__) 的等价物?