我怎样才能让我的mod_rewrite工作?

时间:2010-08-05 16:04:52

标签: mod-rewrite

我看了一眼其他mod_rewrite问题并且无法得出答案,所以如果有人会指出我可能会重复的问题,我会很感激。

无论如何我的问题是:为什么我的mod重写不起作用?我跟着3个教程,在这个网站上花了一段时间阅读论坛和以前的问题,并且无法让它们中的任何一个起作用。我试过通过我的vhosts.conf文件(我认为它也称为某些Linux安装中的httpd.conf)和.htaccess

这是我的.htaccess归档代码

Options +FollowSymLinks
Options +Indexes
RewriteEngine On

RewriteBase /

RewriteRule ^/article/([0-9]+)$ article.php?art_id=$1 [NC,L]

以下是我试图开始工作的链接:mysite.com/article?art_id=$1

老实说,我对mod_rewrite的运作方式只有一点线索。

我安装了mod_rewrite(我不管理服务器,但我工作的公司也有托管服务,这就是我如何访问vhosts.conf但我没有设置服务器,并且至于我知道这样做的人是专业人士并且设置正确)

我把它放进去看看我是否可以让它工作并将它重定向到我的主页(我认为这意味着它的工作)

# Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^fakepage\.html$ http://yoursite.com/ [R,L]

2 个答案:

答案 0 :(得分:1)

至少就.htaccess文件而言,使用您拥有的规则将无效,因为RewriteRule的输入永远不会有一个初始正斜杠。该规则应该更像是这样:

RewriteRule ^article/([0-9]+)$ article.php?art_id=$1 [NC,L]

但是,当您在虚拟主机中尝试它时(假设您重新启动了服务器),您所拥有的应该有效,所以我不确定这是否是实际问题。重写以什么方式不起作用?您是否收到404错误而不是被重定向到您期望的文件?

答案 1 :(得分:0)

<RewriteRule Tim位于RewriteLog "/var/www/mysite.com/rewrite.log" RewriteLogLevel 9 的开头correct about the slash

在尝试找出重写时,打开logging

会很有帮助
{{1}}