没有app.php的Symfony2:404 Not Found

时间:2015-04-26 06:31:19

标签: php apache .htaccess symfony apache2

这是我在public_html目录中的htaccess:

<VirtualHost *>
        ServerAdmin webmaster@mydomain.com
        ServerName  mydomain.com
        ServerAlias www.mydomain.com

        # Indexes + Directory Root.
        DocumentRoot /home/myuser/domains/mydomain.com/public_html
        # DirectoryIndex app.php
        <Directory /home/myuser/domains/mydomain.com/public_html>
            AllowOverride All
            Order allow,deny
            Allow from All
        </Directory>

        # CGI Directory
        ScriptAlias /cgi-bin/ /home/myuser/domains/mydomain.com/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>


        # Logfiles
        ErrorLog  /home/myuser/domains/mydomain.com/log/error.log
        CustomLog /home/myuser/domains/mydomain.com/log/access.log combined
</VirtualHost>

这是/etc/apache2/sites-available/mydomain_com.conf:

json.dump()

这些是结果:

  • mydomain.com =&gt;重定向到 mydomain.com/app.php / ,然后正常工作。
  • mydomain.com/post / =&gt; 404 Not Found
  • mydomain.com/app.php/post / =&gt;工作正常。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

是否启用了apache的mod_rewrite?如果没有,请启用它,重新启动服务器并重试。

count :: (a -> Bool) -> [a] -> Int
count _ [] = 0
count p (x:xs)
   | p x       = 1 + count p xs
   | otherwise =     count p xs

答案 1 :(得分:1)

使用您的设置

尝试此虚拟主机
<VirtualHost 127.0.0.1>
    DocumentRoot "/path/to/yourdomain.com/web/"
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    <Directory "/path/to/yourdomain.com/web/">
        DirectoryIndex app.php
        AllowOverride All
        Order allow,deny
        Allow from all
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]
        RedirectMatch permanent ^/app\.php/(.*) /$1
    </Directory>
</VirtualHost>