使用.htaccess重定向到URL

时间:2014-05-28 22:34:28

标签: php apache .htaccess mod-rewrite redirect

我的.htaccess文件目前看起来像这样:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^page/([^/]*)/$ ?page=$1 [L]

它可以使domain.com/?page=2domain.com/page/2/之间的网址友好。

但是,有没有办法可以编辑此.htaccess文件,使其自动将包含?page=2(或任何页码)的网址重定向到格式正确的网址(/page/2/)?我现在只允许友好的URL版本“存在”,但绝不强制重定向到它。

另外,有没有办法可以将?page=1/page/1/重定向到主目录/ home?

修改

在使用我收到的作为Jon Lin的回答后,我能够解决问题的第二部分。考虑到?page=1自动重定向到/page/1/,我所要做的只是将/page/1/重定向到主页:

RewriteCond %{THE_REQUEST} \ /+DIRECTORY/(?:page|)/1/?
RewriteRule ^ /DIRECTORY/? [L,R]

1 个答案:

答案 0 :(得分:0)

RewriteEngine on行下面添加此内容:

RewriteCond %{THE_REQUEST} \ /+(?:index\.php|)\?page=([0-9]+)
RewriteRule ^ /page/%1/? [L,R]