mod_rewrite适用于localhost,但不适用于服务器

时间:2014-04-28 18:21:06

标签: php .htaccess mod-rewrite

如标题所示,当我将其重新上传到我的服务器(Ubuntu LTS)时,我的重写规则不起作用。 .htaccess文件正在播放,但什么也没做。

mod_rewrite已加载,我已经验证了几种方法。我尝试在.htaccess文件中编写垃圾文本并得到500内部错误,因此该文件似乎在循环中。 virtualHost配置具有“allowOverride All”。

.htaccess文件由一系列重写规则组成,例如:

RewriteRule ^webshop$ index.php?page=webshop [QSA]

RewriteRule ^webshop/([0-9]+)$ index.php?page=webshop&catID=$1 [QSA]

在服务器上,我需要虚拟主机,一个公共服务器和一个测试服务器。公共服务器工作正常,所有重写都与上面类似并且有效。它是不想播放的测试虚拟主机。一台服务器,一台IP,两台FQDN。

想法?

编辑 - 这是VirtualHost配置:

<VirtualHost *:80>
        ServerAdmin beta@example.com
        ServerName beta.example.com

        DocumentRoot /var/www/beta/www-root
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/beta/www-root>
                AddDefaultCharset utf-8
                Options FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from (Two IPs omitted)
        </Directory>

        <Directory /var/www/temp>
                Allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.beta.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

1 个答案:

答案 0 :(得分:0)

问题似乎是有一个与正则表达式(的一部分)同名的文件夹。我有一个名为&#34; webshop.php&#34;的文件,由于某种原因,正则表达式^webshop$失败(服务器似乎更喜欢实际的文件夹/文件而不是本地重写)。