2

ホームページにアクセスして、データベースからデータを取得できます。そこにすべてが大丈夫のようです。しかし、アプリケーションから別のページに移動しようとすると、にリダイレクトされ404 error pageます。リンクにカーソルを合わせたときにブラウザの左下隅に表示されるURLは問題ないようです。あるべき姿です。

.htaccessサーバー上のファイルを次の場所から変更しようとしました:

# Do not remove this line, otherwise mod_rewrite rules will stop working

RewriteBase /

に:

# Do not remove this line, otherwise mod_rewrite rules will stop working

RewriteBase /

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

しかし、それは再び失敗します。さまざまな組み合わせを試しました。たとえば、またはに変更しRewriteBase /ます。まだ成功していません。RewriteBase /projectname/public/RewriteBase /projectname/

もちろん、それが.htaccess問題かどうかはわかりません。何か違うかもしれませんが、私には何がわかりません...

ローカルホストでは、アプリケーションは機能しており、すべて問題ありません。

編集:私が試したいくつかの変更の後、私はついにそれを機能させることができます。

解決策は次のとおりです。

サーバーの.htaccessファイルはそのままにしておきました。だからそれだけRewriteBase /です。次に、.htaccessファイル(projectname/publicフォルダー内)の最初の行に次のように追加しました。

RewriteBase /projectname/public

これですべてが機能しています。

4

2 に答える 2

1

解決

サーバーの.htaccessファイルはそのままにしておきます。だからそこにしかありませRewriteBase /ん。次に、アプリケーションの.htaccessファイル(projectname/publicフォルダー内)の最初の行に、次の行を追加します。

RewriteBase /projectname/public
于 2013-01-16T11:43:25.563 に答える
0

ドメイン名(URL)が指す必要があり、ファイル/projectname/public/に何も追加する必要はありません.htaccess。例として、これが私自身の.htaccessファイルです(を介してプロジェクトを作成するときに生成されますZend_Tool)。私は必要ありませんRewriteBase!:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

SetEnv APPLICATION_ENV development
于 2012-09-29T23:12:05.840 に答える