如何在url中删除二个get id


how to remove in url two get id

现在我的url是

detail.php?category=abc&model=126

我想要这个

detail/abc-126.html

我在中使用此代码但是不能正常工作

.htaccess

RewriteRule ^detail/([a-zA-Z0-9_-]+)/([0-9]+)'.html$ detail.php?category=$2&model=$2

我的第二个问题是假设我在我的网站上使用这样的目录折叠式

www.example.com/foldername/detail/abc-126.html

和我的php文件在这个文件夹

www.example.com/foldername/detail.php

和中的.htaccess文件

www.example.com/.htaccess 

在这里吗

那么我如何使用foldername

这不是一个重复的帖子,我搜索了很多网站,但我不知道如何解决这个

所以请帮我解决这个问题感谢

您有两个条件,并且两次引用$2而不是$1&$2。所以这是一个问题。这可能不会解决你的问题,因为我不太擅长重写,但这只是一个开始。

同样,你想要abc-126.html,但你在重写之间有一个正斜杠,就像)/(一样。

对于您的第二个问题,我不能100%确定您在问什么,但如果.htaccess文件在父目录中,则会通过子目录感受到它的效果,除非您在子目录中放入新的.htaccess文件。

您正在捕获两个东西,$1$2。当您创建应该重定向到的路径时,您只能使用$2。你必须同时使用它们才能工作:

                                          .-------------------------------------.
                            .------------/------------------------------.        '
                    |----- $1 -----| |- $2 -|                            '        '
RewriteRule ^detail/([a-zA-Z0-9_-]+)-([0-9]+)'.html$ detail.php?category=$1&model=$2