1

localhost / mysite/public-動作中のlocalhost/mysite / public / index.php/tasks-動作中のlocalhost/mysite / public/tasks-動作していないエラー404

私はほとんどすべてを試しましたが、まだ問題があります。mod rewriteをオンにしました-使用しました:sudo a2enmod vhost_alias rewriteを実行し、サーバーを再起動しました

私の.htaccessファイル:

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

my etc / apache2 / sites-avaliable / defaultそのようなもの:

 <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>

AllowOverrideをAllに変更すると、「localhost /」のみが機能しますが、「localhost/mysite」のようなサイトを実行できません。

次のような次の仮想ホストをデフォルトファイルに追加しようとしました:

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

しかし、それはまったく機能していません。

4

2 に答える 2

4

まず、Laravel 3を使用している場合は、/ application / config / application.phpを更新し、「applicationindex」変数を「」のようなnull値に変更したことを確認してください。https://github.com/laravel/laravel/blob/master/application/config/application.php#L42

すでにそれを行っている場合は、仮想ホストを設定してみてください。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/hostsファイルを更新して追加します

127.0.0.1 laravel.dev

次に(そしてこれはあなたが前に逃したステップかもしれません)

sudo a2ensite laravel

これにより、/ etc / apache2/sites-enabled内の仮想ホスト構成ファイルへのsimリンクが作成されます。最後にサーバーを再起動します。

sudo service apache2 restart

URL http://laravel.devに接続でき、書き換えが機能しているはずです。

于 2013-02-16T10:39:55.603 に答える
4

ターミナルで次のコマンドを実行して、を有効にしmod_rewriteます。

sudo a2enmod rewrite

次に、Apacheを再起動します。

sudo service apache2 restart
于 2013-03-26T22:17:14.547 に答える