Mod rewrite Ubuntu12.04 Laravel和mod重写

Mod rewrite Ubuntu12.04 Laravel和mod重写,mod-rewrite,apache2,laravel,laravel-4,Mod Rewrite,Apache2,Laravel,Laravel 4,localhost/mysite/public-正在工作 localhost/mysite/public/index.php/tasks-工作 localhost/mysite/public/tasks-不工作错误404 我几乎什么都试过了,但仍然有问题。 我有一个mod rewrite上-我用:sudo a2enmod vhost_别名rewrite 然后重新启动服务器 我的.htaccess文件: <IfModule mod_rewrite.c> Options +FollowS

localhost/mysite/public-正在工作 localhost/mysite/public/index.php/tasks-工作 localhost/mysite/public/tasks-不工作错误404

我几乎什么都试过了,但仍然有问题。 我有一个mod rewrite上-我用:sudo a2enmod vhost_别名rewrite 然后重新启动服务器

我的.htaccess文件:

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

选项+FollowSymLinks
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]
my etc/apache2/站点可用/默认值类似:

 <VirtualHost *:80>
ServerAdmin webmaster@localhost

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>

服务器管理员webmaster@localhost
DocumentRoot/var/www/
选项如下符号链接
不允许超限
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
ScriptAlias/cgi-bin//usr/lib/cgi-bin/
不允许超限
选项+执行CGI-多视图+符号链接所有者匹配
命令允许,拒绝
通融
ErrorLog${APACHE_LOG_DIR}/error.LOG
#可能的值包括:调试、信息、通知、警告、错误、临界值、,
#警惕,埃默格。
日志级别警告
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
别名/doc/“/usr/share/doc/”
选项索引多视图跟随符号链接
不允许超限
命令拒绝,允许
全盘否定
允许从127.0.0.0/255.0.0.0::1/128开始
当我将AllowOverride更改为All时,仅“localhost/”起作用,但我无法运行任何像“localhost/mysite”这样的网站

我已尝试向默认文件添加下一个虚拟主机,如:

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

DocumentRoot/var/www/mysite/public/
允许超越所有

但是它根本不起作用。

首先,如果您使用的是Laravel 3,请确保您已经更新了/application/config/application.php,并将“application index”var设置为空值,如“”

如果您已经这样做了,请尝试设置vhost。听起来您正在使用Apache2

首先创建一个额外的vhosts文件,例如/etc/apache2/sites available/laravel

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName laravel.dev
    ServerAlias *.laravel.dev
    DocumentRoot /home/kriss/projects/laravel/public
</VirtualHost>
然后(这可能是你以前错过的步骤)

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

sudo service apache2 restart

您应该能够连接url,并且您的重写应该能够正常工作。

首先,如果您使用的是Laravel 3,请确保您已经更新了/application/config/application.php,并将“application index”var设置为空值,如“”

如果您已经这样做了,请尝试设置vhost。听起来您正在使用Apache2

首先创建一个额外的vhosts文件,例如/etc/apache2/sites available/laravel

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName laravel.dev
    ServerAlias *.laravel.dev
    DocumentRoot /home/kriss/projects/laravel/public
</VirtualHost>
然后(这可能是你以前错过的步骤)

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

sudo service apache2 restart

您应该能够连接url,并且您的重写应该可以正常工作。

在终端中运行以下命令以启用
mod\u rewrite

sudo a2enmod rewrite
现在重新启动Apache

sudo service apache2 restart

在终端中运行以下命令以启用
mod\u rewrite

sudo a2enmod rewrite
现在重新启动Apache

sudo service apache2 restart

我使用的是laravel 4,找不到application.php,它只是config/app.php,但itOkay中没有索引,如果您在L4上,请尝试在vhost下安装。-错误404我完全按照你说的做了-我检查了站点中是否启用了laravel,所以它应该可以工作,但不幸的是它不能工作。我在windows中做了,但在ubuntu i cantok中现在我有错误500,所以它正在连接到站点,但首先还是有问题,确保虚拟主机配置中的DocumentRoot指向main/var/www/以外的目录。然后尝试使用index.html创建一个简单的空目录,以使laravel.dev vhost工作。之后,您可以开始查看laravel配置。我正在使用laravel 4,但找不到application.php。它只是config/app.php,但在itOkay中没有索引,如果您在L4上,请尝试在vhost下安装。-错误404我完全按照你说的做了-我检查了站点中是否启用了laravel,所以它应该可以工作,但不幸的是它不能工作。我在windows中做了,但在ubuntu i cantok中现在我有错误500,所以它正在连接到站点,但首先还是有问题,确保虚拟主机配置中的DocumentRoot指向main/var/www/以外的目录。然后尝试使用index.html创建一个简单的空目录,以使laravel.dev vhost工作。在那之后,你可以开始查看laravel配置。这个答案来自delmadord拯救我的生命!德尔马多德的回答救了我的命!