htaccess 在 url 中重写 slug
htaccess rewrite slug in a url
我已经搜索并搜索了有关重写规则的帮助,但似乎没有任何内容与我正在尝试做的具体匹配,希望有人能提供帮助吗?
我正在尝试替换 url 中的一个 slug,它前后可能有各种其他可能的 slug。
例如
http://www.example.com/slug/old_slug
到
http://www.example.com/slug/new_slug
或
/slug/old_slug/slug
到
/slug/new_slug/slug
或
/slug/old_slug/slug/slug
到
/slug/new_slug/slug/slug
或最后:
/slug/old_slug/slug?param=1¶m=2
到
/slug/new_slug/slug?param=1¶m=2
如果这听起来令人困惑,这些产品的类别后面有各种可能的 url 参数,我不得不重命名产品,这意味着我想为 SEO 重写旧的 urls和入站链接。
您可以在 DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/old_slug(/.*)?$ //new_slug [L,NE,R=302]
我已经搜索并搜索了有关重写规则的帮助,但似乎没有任何内容与我正在尝试做的具体匹配,希望有人能提供帮助吗?
我正在尝试替换 url 中的一个 slug,它前后可能有各种其他可能的 slug。
例如
http://www.example.com/slug/old_slug
到
http://www.example.com/slug/new_slug
或
/slug/old_slug/slug
到
/slug/new_slug/slug
或
/slug/old_slug/slug/slug
到
/slug/new_slug/slug/slug
或最后:
/slug/old_slug/slug?param=1¶m=2
到
/slug/new_slug/slug?param=1¶m=2
如果这听起来令人困惑,这些产品的类别后面有各种可能的 url 参数,我不得不重命名产品,这意味着我想为 SEO 重写旧的 urls和入站链接。
您可以在 DOCUMENT_ROOT/.htaccess
文件中使用此代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/old_slug(/.*)?$ //new_slug [L,NE,R=302]