Mod rewrite mod rewrite重写规则上的怪异行为

Mod rewrite mod rewrite重写规则上的怪异行为,mod-rewrite,Mod Rewrite,我的.htaccess文件如下所示: Options +FollowSymlinks RewriteEngine On # Turn on the rewriting engine RewriteBase / RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] RewriteCond %{HTTPS} off RewriteRule (.*)

我的.htaccess文件如下所示:

Options +FollowSymlinks
RewriteEngine On    # Turn on the rewriting engine
RewriteBase /
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.com%{REQUEST_URI} [R=301,L]

RewriteRule    ^product/([0-9]+)/*.  /tags.php?id=$1    [NC,L]
RewriteRule    ^page/([a-zA-Z0-9_-]+)$  /site.php?page=$1    [NC,L]
我希望最后一条规则是:

RewriteRule    ^site/([a-zA-Z0-9_-]+)$  /site.php?page=$1    [NC,L]
如果我改变最后一条规则,它根本不起作用。我找不到404。
我不知道为什么它不起作用,“site”是一个注册词还是…?

尝试调试,将LogLevel alert rewrite:trace3放入httpd.conf中,然后重新启动服务。Afaik站点不是一个特殊的词。通过调试行,您可以跟踪发生的重写。如果您将最后一条规则更改为以site/开头,那么您是否真的要转到类似的URLhttp://yourdomain.com/site/page-name? 是否有一个名为site的目录?apache或site.php返回的404是否表示未找到要传递给它的页面参数?重定向在本地主机上工作,但联机时是共享服务器,因此无法更改httpd.conf。webhost是godaddy,404是apache未找到错误。没有名为site的目录。也许戈达迪有一些奇怪的配置?我会试着写下来。日志级别警报重写:trace3在localhost上不工作,apache根本无法启动