试图找出htaccess问题

时间:2014-01-11 18:26:19

标签: php apache .htaccess mod-rewrite ubuntu

我在解决如何使用htaccess文件方面遇到了一些问题。我已经在ubuntu系统上安装了apache / php并且打开了mod_rewrite(php_info()声明它在加载的模块列表中)。 Web服务器工作,显示html和php文件,所以我很满意。

我现在要弄清楚的是如何正确使用htaccess文件。我创建了一个目录/ data,其中包含一个index.php文件。我现在要做的只是显示$ _REQUEST变量,这样我就可以看出事情是否按照我认为应该的方式运行。

示例:如果我键入以下URL:localhost / data / info1 /我希望htaccess文件访问localhost / data / index.php?request = info1

但是,无论我输入htaccess文件,我都会遇到404错误,我想了解原因。

这是我的htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule data/(.*)$ data/index.php?request=$1 [L]
</IfModule>

我没有对配置文件进行任何更改,为了激活mod_rewrite,我使用了ubuntu a2enmod命令,所以ubuntu为我做了。之后,我重新启动了apache。

我无法弄清楚为什么这不起作用。我的假设是我仍然需要在服务器端进行某种配置,但老实说我不知道​​是什么。有人可以给我提供任何建议吗?

1 个答案:

答案 0 :(得分:1)

以下是修复:

RewriteRule ^data/(.*)$ data/index.php?request=$1 [L]

(你错过了^

修改

在OP中,您在网址示例中有另一个前导/,在这种情况下它将是:

RewriteRule ^data/(.*)/$ data/index.php?request=$1 [L]