我想让我的网站更加SEO友好。我研究了这个,并结合其他网站,并没有解决方案的工作。使用这个简单的代码,URL重写可以正常工作:
RewriteRule ^testpage\.php$ destination.php [NC,L]
但是,当我尝试在动态页面上实现RewriteRule并在URL中传递变量时,没有任何反应。这是我现在的代码不起作用:
RewriteRule ^([^/]*)\.html$ /prodinfo.php?prodid=$1 [NC,L]
我想http://www.mysite.com/products/prodinfo.php?id=268 转换为http://www.mysite.com/268.html
我在Apache 2.2上使用php.5.3谢谢。
答案 0 :(得分:0)
在浏览器中访问http://example.com/268.html
的任何人都将服务器端转换为:http://example.com/products/prodinfo.php?id=268
,并使用以下内容:
RewriteEngine On
#RewriteRule ^([0-9]+).html/?$ /products/prodinfo.php?id=$1 [NC]
...或者反过来将浏览器使用中的访问者请求http://example.com/products/prodinfo.php?id=268
转换为http://example.com/268.html
:
RewriteEngine On
RewriteCond %{QUERY_STRING} id=([0-9]+)
RewriteRule ^products/prodinfo.php$ /%1.html? [R]
答案 1 :(得分:0)
你正在寻找这样的东西吗?
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /products/prodinfo\.php\?id=([0-9]+)
RewriteRule ^ /%1.html? [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+).html$ /products/prodinfo.php?id=$1 [L]