mod_rewrite不使用字母数字值


mod_rewrite not working with alphanumeric values

我正在尝试使用 htaccess 进行简单的 url 重写以转换:

example.com/test/?product_name=name-of product

example.com/test/name-of-product

为此,我正在使用:

RewriteEngine On
RewriteRule    ^test/([A-Za-z0-9]+)/?$    test/?product_name=$1   [NC,L]

当product_name是数字 (example.com/test/200/) 时,这工作正常,但当product_name是字母或字母数字 (example.com/test/abc/) 时

不起作用

我在使用字母或字母数字值时找不到页面

我在网上读到的所有内容似乎都告诉我这应该有效,但我错过了一些东西。 任何想法为什么不起作用? 或者也许是实现这一目标的最佳方法(制作一个漂亮的网址)?

其他信息。 我做了更多的研究,由于这是一个WordPress网站,/test/实际上也是一个变量,所以网站网址是

example.com/?page_id=611

我想我正在附加 product_name=name-of 产品,所以 url 可能看起来像(我认为)为

example.com/?page_id=611&product_name=name-of 产品

但page_id将永远相同(611)。 如果我的想法是正确的,那么htaccess中的重温是什么样子的?

谢谢你的帮助

射线

好的,我根据马里奥和 splash58 的问题做了更多的研究,结果发现这是一个 wordpress 问题,而不是mod_rewrite。 这可以使用wordpress重写API来解决。 详细信息和示例在wordpress网站上:

https://codex.wordpress.org/Rewrite_API/add_rewrite_rule