用htaccess改变url结构

时间:2015-05-07 22:09:23

标签: php apache .htaccess mod-rewrite

我有一个网址

http://domain.com/wallpaper-name-of-wallpaper-id.html

其中wallpaper-是网址的前缀,name-of-wallpaper是壁纸的标题,而id是壁纸的实际ID。我目前的.hataccess文件看起来像。

RewriteRule ^wallpaper-([^/]*)\.html$ wallpaper.php?permalink=$1 [L]

但我想将其更改为

http://domain.com/wallpaper/name-of-wallpaper-id.html

所以输入旧网址的用户将自动使用htaccess发送到新网址。

我试过了。 RewriteRule ^wallpaper-([^/]*)\.html$ wallpaper/wallpaper.php?permalink=$1 [R,L]

但似乎对我不起作用。任何想法或帮助?

1 个答案:

答案 0 :(得分:2)

在现有规则之前添加新的重定向规则:

Options -MultiViews
RewriteEngine On

RewriteRule ^(wallpaper)-([^.]+\.html)$ /$1/$2 [R=302,L,NC]

RewriteRule ^wallpaper/([^.]+)\.html$ wallpaper.php?permalink=$1 [L,NC,QSA]