我在SO中搜索过,但从未遇到过这个特定的答案。如果有人能帮忙的话。
这是我的URL结构/index.php?param1 = is1然后我把它变成这样/is1
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(index.php)??([^& ]+)
RewriteRule ^ /%1? [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
不要问我是怎么得到这个的,因为写这个已经有一段时间了。现在的问题是我有第二个参数。url是这样的/index。php?param1=is1¶m2=is2/is1/is2.
显然,现在是这样的/is1¶m2=is2. 所以我想我正在寻找的是一种方法来询问是否¶m2=
我真的不明白这些URLREWRITE背后的逻辑。我试图清理我的URL结构的SEO目的和复制/粘贴逻辑的URL应该在不同的用户/客户端之间共享。显然,/this-is-something&this=that没有那么糟糕,但是有/this-is-something/that好多了。
仅供参考,第一个参数是BRANDS/this-is-my-brand1或/this-is-my-brand2第二个参数是产品/this-is-my-brand1/product1之前我用/index.php?brand=brand-one&product=product-one. 改变一切都不是问题,如果有什么比我现有的更好的,我可以从头开始。
我在学习曲线上,所以我不介意冗长的解释。
任何帮助都是感激的。
如果您的请求参数名称是静态的(永远不会改变),您可以使用更具体的规则
RewriteRule ^(.+)/(.+)$ index.php?brand=$1&product=$2 [L]