将用户从动态重定向到静态URL(带有两个参数)

时间:2014-01-26 15:49:11

标签: php apache .htaccess url mod-rewrite

我的网站上有一个URL,结构如下:
- mywebsite.com/directory/object.php?id=[id]&title=[title]
        使用.htaccess文件我已将上述动态URL更改为以下内容:
- mywebsite.com/directory/[id]/[title]类似于此问题的stackoverflow的URL ..

我想知道如何将旧动态网址中输入的任何用户重定向到新的静态网址。我知道你使用RewriteCond,但我无法弄清楚代码。

我的.htaccess文件代码将动态URL更改为静态URL包含:

    RewriteEngine On
    RewriteRule ^directory/([^/]*)/([^/]*)$ /directory/object.php?id=$1&title=$2 [L]

提前致谢!

1 个答案:

答案 0 :(得分:2)

这样做:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+(directory)/object\.php\?id=([^&]+)&title=([^\s&]+) [NC]
RewriteRule ^ /%1/%2/%3? [R=301,L]

RewriteRule ^directory/([^/]+)/([^/]+)/?$ /directory/object.php?id=$1&title=$2 [L,QSA]