2013-02-16 92 views
1

本地主机/ mysite的/公共 - 工作 本地主机/ mysite的/公/ index.php文件/任务 - 工作 本地主机/ mysite的/公/任务 - 不工作ERROR 404的Ubuntu 12.04 Laravel和国防部重写

我几乎尝试一切都仍然有问题。 我有国防部重写 - 我所用:命令a2enmod vhost_alias改写 并重新启动服务器

我的.htaccess文件:

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

我等/ apache2的/网站-avaliable /默认它像:

<VirtualHost *:80> 
ServerAdmin [email protected] 

DocumentRoot /var/www/ 
<Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
</Directory> 
<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order allow,deny 
    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 ${APACHE_LOG_DIR}/error.log 

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

CustomLog ${APACHE_LOG_DIR}/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> 

当我更改AllowOverride到所有 - 只有“本地主机/”工作,但我不能运行任何网站,如“本地主机/ mysite”。

我试图添加到默认的文件下一个虚拟主机,如:

<VirtualHost *:80> 
    DocumentRoot /var/www/mysite/public/ 
    <Directory /var/www/mysite/public/> 
    AllowOverride All 
</Directory> 
</VirtualHost> 

,但它是不工作的。

+0

来自delmadord的这个答案拯救了我的生命! http://stackoverflow.com/a/24785009/1419350 – ebelendez 2015-08-19 01:37:25

回答

4

首先,如果您使用的是Laravel 3,请确保已更新/application/config/application.php并将“应用程序索引”var设置为空值,如“”。 https://github.com/laravel/laravel/blob/master/application/config/application.php#L42

如果您已经这样做,请尝试设置虚拟主机。这听起来像你使用的是Apache 2

首先创建一个额外的虚拟主机文件,例如,/ etc/apache2的/网站可用/ laravel

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName laravel.dev 
    ServerAlias *.laravel.dev 
    DocumentRoot /home/kriss/projects/laravel/public 
</VirtualHost> 

然后更新您的/ etc/hosts文件,并添加

127.0.0.1 laravel.dev 

然后(这可能是你之前错过了一步)

sudo a2ensite laravel 

这将使将/ etc/apache2/sites-enabled中的sim连接到您的vhost配置文件。 最后重新启动服务器:

sudo service apache2 restart 

您应该能够通过URL http://laravel.dev连接,和你重写应该工作。

+0

好吧,我会检查它,让你知道 – Kriss 2013-02-16 10:42:25

+0

我使用laravel 4,并找不到application.php它只是配置/ app.php但没有索引 – Kriss 2013-02-16 10:49:01

+0

好的,如果你在L4上尝试安装在虚拟主机下。 – Makita 2013-02-16 10:57:47

4

在终端中运行以下命令以启用mod_rewrite

sudo a2enmod rewrite 

现在重新启动Apache。

sudo service apache2 restart 
+0

这只是问题的一半解决 – user3750649 2014-09-10 00:55:19