.htaccess htaccessrewrite-获取某个查询字符串的最后一个元素,并将其放入新url的中心

.htaccess htaccessrewrite-获取某个查询字符串的最后一个元素,并将其放入新url的中心,.htaccess,rewrite,query-string,.htaccess,Rewrite,Query String,我想重写所有如下所示的URL: test-domain.com/folderX/part-two/37-elementX 到 test-domain.com/special-elementX-special-group 元素左侧的数字可以不同 对于每个不同的元素 这个数字可以去掉 更多示例: test-domain.com/folderX/part-two/21-elementY 到 test-domain.com/special-elementY-special-group 两者都将映射 te

我想重写所有如下所示的URL:

test-domain.com/folderX/part-two/37-elementX 到 test-domain.com/special-elementX-special-group

元素左侧的数字可以不同 对于每个不同的元素 这个数字可以去掉 更多示例:

test-domain.com/folderX/part-two/21-elementY 到 test-domain.com/special-elementY-special-group

两者都将映射

test-domain.com/folderX/part-two/21-element
test-domain.com/folderX/part-two/37-element

您可以在此处进行测试:

如果要特别匹配前缀:

test-domain.com/folderX/part-two
然后你可以使用:

RewriteEngine On
RewriteRule ^[^/]+/folderX/part-two/[\d]+-([^-]*)$ /certain-$1-special-group
您也可以在此处进行测试:

您可以使用:

RewriteEngine on
RewriteRule ^[^/]+/[^/]+/\d+-([^-]+)$ /certain-$1-special-group [R=301,L]
仅适用于URL,如:/folder/folder/[nnn]-[name without-]

为避免与其他现有文件或目录发生冲突,请在重写引擎后添加:


问题是,它也适用于test-domain.com/begin-end->test-domain.com/special-end-special-groupI。我尝试了这个方法,但得到了一个内部服务器错误500。folderX/part 2/可以用来识别查询字符串。。。但谢谢你们四位的努力!我根据您的反馈@user2103255进行了编辑。如果你也给出一些你不想让它匹配的例子,假设我现在没有猜对的话,那会很有帮助。我试过这个,但它什么也没做。folderX/第二部分/应该用于识别,但感谢您花时间尝试!我更改标志,使其更可见
RewriteEngine On
RewriteRule ^[^/]+/folderX/part-two/[\d]+-([^-]*)$ /certain-$1-special-group
RewriteEngine on
RewriteRule ^[^/]+/[^/]+/\d+-([^-]+)$ /certain-$1-special-group [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f