我一直在尝试重定向我的以下网址
http://example.com/En/product_de.php?123
到
http://example.com/En/products/123
这是我的htaccess代码
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([^&]+)
RewriteRule ^/?product_de\.php$ http://example.com/En/products/%1 [L,R=301]
我做错了,请帮助我
答案 0 :(得分:0)
在目录上下文中,RewriteRule
的第一个参数是相对于目录的。 .htaccess文件中的内容位于.htaccess文件所在目录的目录上下文中。
在.htaccess文件中,RewriteRule
的第一个参数永远不会以斜杠开头。我假设您的http根目录中有.htaccess文件。因此,您的规则应该是:
RewriteCond %{QUERY_STRING} ^id=([^&]+)
RewriteRule ^En/product_de\.php /En/products/%1? [L,R]
当所有内容按预期工作时,将[R]
标记更改为[R=301]
。