动态网址到静态url重写和重定向
问题描述:
我有一个基于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]
我能得到静态但我想要的是,如果有人在浏览器中输入动态url,他/她应该自动重定向到新的静态url。
有什么建议吗?
答
更改您的.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]
答
添加其他重写规则来处理动态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]
在此URL,任何字符串与任何-ID将是这将得到自动改变的动态值,你认为这是写在正确的方式? @ error2007s – Kapil
上面是正确的。 – error2007s