Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 我怎样才能让我的mod_重写正常工作?_Mod Rewrite - Fatal编程技术网

Mod rewrite 我怎样才能让我的mod_重写正常工作?

Mod rewrite 我怎样才能让我的mod_重写正常工作?,mod-rewrite,Mod Rewrite,我环顾了一下其他的mod_重写问题,没有找到答案,所以如果有人能给我指出一个我可能要复制的问题,我将不胜感激 无论如何,我的问题是:为什么我的mod重写不起作用?我学习了3个教程,花了一段时间阅读了论坛和之前在这个网站上的问题,但都没法让它们发挥作用。我试着通过vhosts.conf文件(我想它在linux的一些安装中也被称为httpd.conf)和.htaccess来实现 这是我的.htaccess文件代码 Options +FollowSymLinks Options +Indexes Re

我环顾了一下其他的mod_重写问题,没有找到答案,所以如果有人能给我指出一个我可能要复制的问题,我将不胜感激

无论如何,我的问题是:为什么我的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_重写是如何工作的只有一点线索

我安装了mod_rewrite(我不管理服务器,但我工作的公司也有托管服务,这就是我访问vhosts.conf的方式,但我没有设置服务器,据我所知,做这件事的人是专业的,并且设置正确)

我把这个放进去,看看我是否能让它工作,它把我重定向到我的主页(我想这意味着它能工作)


至少就
.htaccess
文件而言,使用您拥有的规则将不起作用,因为
重写规则
的输入永远不会有初始正斜杠。相反,规则应该更像这样:

RewriteRule ^article/([0-9]+)$ article.php?art_id=$1 [NC,L]
但是,当您在虚拟主机中尝试它时(假设您重新启动了服务器),您应该已经工作了,所以我不确定这是否是实际问题。重写在什么方面不起作用?您是否收到404个错误,而不是重定向到所需的文件?

位于您的
重写规则的开头

当试图找出重写时,启用以下选项可能会有所帮助:


你想要的“可见”url是什么,应该在哪里翻译成(“隐藏”url)?我希望url像这样显示,如果实际的url是,我一定是在vhosts.conf中弄乱了什么,没有注意到,但是url被破坏了,所以在我删除斜杠之前它不起作用
RewriteRule ^article/([0-9]+)$ article.php?art_id=$1 [NC,L]
RewriteLog "/var/www/mysite.com/rewrite.log"
RewriteLogLevel 9