htaccess在url中重写slug

时间:2015-03-18 16:46:17

标签: apache .htaccess mod-rewrite url-rewriting

我搜索并搜索了有关重写规则的帮助,但似乎没有什么特别匹配我正在尝试做的事情,希望有人可以提供帮助吗?

我正在尝试更换一个可能在它之前和之后有各种其他可能的slu ur的urg。

e.g。

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&param=2

/slug/new_slug/slug?param=1&param=2

如果这听起来令人困惑,那么这些产品的类别中包含各种可能的url参数,我不得不重命名产品,这意味着我想重写旧的URL以用于搜索引擎优化和入站链接。

1 个答案:

答案 0 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/old_slug(/.*)?$ /$1/new_slug$2 [L,NE,R=302]