Mod rewrite Ubuntu12.04 Laravel和mod重写
localhost/mysite/public-正在工作 localhost/mysite/public/index.php/tasks-工作 localhost/mysite/public/tasks-不工作错误404 我几乎什么都试过了,但仍然有问题。 我有一个mod rewrite上-我用:sudo a2enmod vhost_别名rewrite 然后重新启动服务器 我的.htaccess文件: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
<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拯救我的生命!德尔马多德的回答救了我的命!