【发布时间】:2011-03-31 21:23:13
【问题描述】:
我在 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
...但我什至无法进行简单的测试。
顺便说一句 - 这个相同的 .htaccess 在我的 Linux 环境(开发服务器)中完美运行。我现在需要将其移至生产 Windows 机器,但它根本无法正常工作。
如果有帮助,这个 .htaccess 文件位于子文件夹中,例如C:\wamp\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
我仍然没有更聪明;-)
【问题讨论】: