我尝试了所有可能,我需要重定向此网址的类型:
http://www.midominio.com/esp/productos_listado.php?id=98
id [1-4504] To
http://www.midominio.com/categorias/98-libro.html
我证明:
RewriteCond %{QUERY_STRING} (^|&)id=([0-9]+)
RewriteRule ^id=(.*)$ /categoria/%1$1-libro.html? [R=301]
但只能改写:
http://www.midominio.com/categorias/-libro.html
没有var nu,是
答案 0 :(得分:0)
从您的描述中不清楚您实际上希望重写的方向。
如果要重写的传入请求是/categorias/...
,那么这样的事情应该没问题:
RewriteEngine on
RewriteRule ^/?categorias/(\d+)-libro.html /esp/productos_listado.php?id=$1 [L]
但是,如果你的措辞暗示,你有一个不寻常的情况,你想要将来电请求重写为/esp/productos_listado.php
,然后以这种方式尝试'回合:
RewriteEngine on
RewriteCond %{QUERY_STRING} id=(\d+)
RewriteRule ^/?esp/productos_listado\.php /categorias/%1-libro.html [L]
该表示法适用于.htaccess
样式文件以及真实主机配置。请注意,如果您有权访问主机配置,那么始终应该更喜欢将规则放在那里。 .htaccess
样式文件非常容易出错,难以调试,而且真的会降低http服务器的速度。它们仅适用于人们不可以访问主机配置的情况。例如,当使用非常便宜的托管服务提供商时...