如果已在其他地方解释过,请原谅我。我一直在谷歌搜索和尝试过去两个小时的事情仍然无法让它工作。到目前为止,我发现的所有例子似乎都不合适。
这看起来应该非常简单。我正在尝试重写以下网址(原始网址和目标网址):
/product.cfm?item=17
/product/17
和
/parts.cfm?part=12
/speakers/12
......我无法得到任何工作。
我尝试过这样的事情:
RewriteCond %{QUERY_STRING} ^part=(.*)$ [NC]
RewriteRule ^/parts.cfm$ /parts/$1 [NC,R=301]
和
RewriteRule ^/parts.cfm?part=(.*)$ /parts/$1 [NC,R=301]
但我只是得到一个404页面,这表明它没有通过。而且,遗憾的是,我无法访问此服务器上的日志,因此我无法看到实际情况。
我是否认为这一切都错了?有没有其他方法来处理这些?它可能只是一个字符错字,不是吗?
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
你应该可以使用
RewriteRule ^product/(\d+)$ product.cfm?item=$1 [L]
和
RewriteRule ^speakers/(\d+)$ parts.cfm?part=$1 [L]
实现目标。
第一部分是传入的URL - 第二部分是您实际希望服务器使用的部分。看起来你现在已经混淆了它们。