mod_rewrite静态URL到动态

时间:2013-03-06 15:03:03

标签: mod-rewrite

如何重写此网址

http://www.domain.com/folder/number/50.html

http://www.domain.com/folder/number?id=50#50

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以在根目录中的.htaccess文件中尝试:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^folder/number/([^/]+)\.html/?  /folder/number?id=$1#$1  [NE,NC,L]

静默地映射

带有或不带斜线的

http://www.domain.com/folder/number/50.html

要:

http://www.domain.com/folder/number?id=50#50

假设字符串50是动态的。

对于永久和可见的重定向,用[R = 301,NE,NC,L]替换[NE,NC,L]

答案 1 :(得分:0)

这是最简单的方法:

RewriteEngine On
RewriteBase /
RewriteRule ^folder/number/(\d+)\.html$ folder/number?id=$1#$1 [L,R=301]

如果您希望此重定向透明,请将[L,R=301]更改为[L]