-1

我正在努力使我的网站对 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 谢谢。

4

2 回答 2

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=268http://example.com/268.html他们的浏览器中使用:

RewriteEngine On
RewriteCond %{QUERY_STRING} id=([0-9]+)
RewriteRule ^products/prodinfo.php$ /%1.html? [R]
于 2013-09-07T09:11:38.713 回答
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]
于 2013-09-10T17:55:35.160 回答