Htaccess使用数据库ID重定向url

时间:2018-03-18 14:07:37

标签: mysql apache .htaccess web url-redirection

我想为我的数据库中的每个NUMERO重定向此网址:

https://www.website.com/post.php?id=NUMERO

https://www.website.com/NUMERO

其中NUMERO是我的sql数据库中单元格的id。例如:

https://www.website.com/post.php?id=7

https://www.website.com/7

要执行重定向,我在htaccess文件中添加了这一行:

RewriteRule ^/([0-9]+)/?$ post.php?id=$1 [NC,L] 

但它不起作用,我不明白为什么。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

# redirect "old" URL (/post.php?id=NUMERO to /NUMERO)
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} (?:^|&)id=(\d+)(?:&|$)
RewriteRule ^post\.php$ %1 [L,R=permanent]

# rewrite /NUMERO to /post.php?id=NUMERO
RewriteRule ^\d+$ post.php?id=$0 [L,QSA]

您可以将R=permanent替换为R=404R=410,以使post.php不再存在,而不是重定向。