我有一个基于php的动态网站。 所以我只想知道如何自动重定向此URL
/convert.php?id=any-id&v=any-string [L]
到
/tutorial/any-string/any-id.html
我创建了以下htaccess代码
Options +FollowSymlinks
RewriteEngine on
RewriteOptions inherit
RewriteRule ^videos/([^/]*)\.html$ /search.php?s=$1 [L]
RewriteRule ^tutorial/([^/]*)/([^/]*)\.html$ /convert.php?id=$1&v=$2 [L]
我有能力得到那个静态网址,但我想要的是如果有人在浏览器中输入动态网址,他/她应该自动重定向新的静态网址。
有什么建议吗?
答案 0 :(得分:0)
更改.htaccess文件以反映以下规则,它将按您的意愿运行。
Options +FollowSymlinks
RewriteEngine on
RewriteOptions inherit
RewriteRule ^videos/([^/]*)\.html$ /search.php?s=$1 [L]
RewriteRule ^tutorial/([^/]*)/([^/]*)\.html$ /convert.php?id=$1&v=$2 [L]
RewriteCond %{QUERY_STRING} (^|&)id=any-id($|&)
RewriteCond %{QUERY_STRING} (^|&)v=any-string($|&)
RewriteRule ^convert\.php$ /tutorial/any-string/any-id.html? [L,R=301]
答案 1 :(得分:0)
添加另一个重写规则以最终处理动态URL:
Options +FollowSymlinks
RewriteEngine on
RewriteOptions inherit
RewriteRule ^videos/([\w-]+)\.html$ search.php?s=$1 [L,QSA,NC]
RewriteRule ^tutorial/([^/]+)/([\w-]+)\.html$ convert.php?id=$1&v=$2 [L,QSA,NC]
RewriteRule ^([\w-]+)/([\w-]+)\.html$ convert.php?id=$1&v=$2 [L,QSA,NC]