无法使URL重写工作

时间:2014-01-15 17:51:16

标签: apache .htaccess mod-rewrite

我正在尝试实现URL重写但我无法。目的是在此基础上构建基于本教程的RESTful API tutorial

在发布之前,我也在stackoverflow question

咨询了这个主题

我尝试过很多东西但没有结果。我会直接了解细节。 我正在构建一个存储约会的Web应用程序,并且有一个管理部分,用户可以看到这些约会。(一切都在本地完成) 因此我在应用程序的admin文件夹中放置了一个.htaccess文件:     C:\ Apache24 \ htdocs中\约会\管理员

.htaccess中的代码是:

 <IfModule mod_rewrite.c>
 RewriteEngine On 
 RewriteCond %{REQUEST_FILENAME} !-f 
 RewriteCond %{REQUEST_FILENAME} !-d 
 RewriteRule .* ./test.php [L]
 </IfModule>

以上代码仅用于测试......换句话说,如果用户请求不存在的页面test.php应该出现在他的浏览器中 - 当然我已经创建了这样的页面,它在admin文件夹中好。

因此,如果用户键入地址栏     http://localhost/Appointments/Administrator/calen 然后test.php应该出现......而问题是它没有,因为当然没有一个名为calen的页面。

除了上面的内容,我还是去了httpd.config并且没有发现这一行 LoadModule rewrite_module modules / mod_rewrite.so我认为(除非我错了)激活重写模块

那么这里可能出现什么问题?

1 个答案:

答案 0 :(得分:1)

您需要在此处更正RewriteBase。试试这个规则:

<IfModule mod_rewrite.c>
 RewriteEngine On 
 RewriteBase /Appointments/Administrator/

 RewriteCond %{REQUEST_FILENAME} !-f 
 RewriteCond %{REQUEST_FILENAME} !-d 
 RewriteRule ^ test.php [L]
</IfModule>