另一个.htaccess问题

时间:2011-03-31 21:23:13

标签: .htaccess get wamp

我在WAMP服务器上有一个.htaccess文件。 .htaccess重写工作正常......对于一些简单的URL重写,但我不能让它在一个简单的测试上工作。

我的.htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^Homepage/$ index.php
RewriteRule ^Test/(.*)/$ test.php?a=$1

在我的test.php上,我正在抛出$ _GET。

我的主页工作正常,即http://www.mysite.com/Homepage/重定向正常。但我的测试页面只是部分工作,因为它转到了test.php,但没有任何东西从我的$ _GET转储中被转储 - 它只是一个空数组。

理想情况下,我需要为多个文件夹执行此操作,例如

RewriteRule ^Test/(.*)/(.*)/(.*)/$ test.php?a=$1&b=$2&c=$3

...但我甚至无法让我的简单测试工作。

BTW - 同样的.htaccess在我的Linux环境(开发服务器)中运行良好。我现在需要将其移动到生产Windows框中,它根本无法正常工作。

如果它有助于此.htaccess文件位于子文件夹中,例如C:\瓦帕\ WWW \ mywebsite \ htaccess的

我做错了什么?有任何想法吗?提前谢谢。

更新:

启用重写日志(使用mywebsite替换真实网站名称)并http://www.mywebsite.com/Test/ABC/返回此信息:

217.42.222.22 - - [31/Mar/2011:23:08:16 +0100] [www.mywebsite.com/sid#65f3f0][rid#1a13a68/subreq] (1) [perdir C:/wamp/www/mywebsite.com/] pass through C:/wamp/www/mywebsite.com/test.php
217.42.222.22 - - [31/Mar/2011:23:08:16 +0100] [www.mywebsite.com/sid#65f3f0][rid#1a2ea88/initial] (1) [perdir C:/wamp/www/mywebsite.com/] pass through C:/wamp/www/mywebsite.com/test.php
217.42.222.22 - - [31/Mar/2011:23:08:16 +0100] [www.mywebsite.com/sid#65f3f0][rid#1a24af0/subreq] (1) [perdir C:/wamp/www/mywebsite.com/] pass through C:/wamp/www/mywebsite.com/ABC

我仍然不是明智的; - )

2 个答案:

答案 0 :(得分:0)

两个建议:

  1. 发布您用于测试页面的网址。
  2. 打开重写日志并查看其内容。请务必稍后再将其关闭!

答案 1 :(得分:0)

让你的重写规则如下:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^Homepage/$ /index.php [R=301,L]
RewriteRule ^Test/(.*)/$ /test.php?a=$1 [R=301,L]

重写规则的目标应该以/

开头