30

MagentoインストールのすべてのURLには、次のようにindex.phpが必要です。

http://example.com/index.php/admin/
http://example.com/index.php/customer/account/login/

問題は、システムがデフォルトで次のようなURLにリンクしていることです。

http://example.com/admin/
http://example.com/customer/account/login/

とにかくきれいに見えます。これは.htaccessの書き換えの問題だと思いますが、過去にそれをいじくり回して500を与えたので、まず皆さんにお聞きしたいと思います。

ここで提案されているように、SEO設定の変更、構成キャッシュのフラッシュ、およびURLのインデックスの再作成は機能しませんでした。

4

8 に答える 8

86

これは古いかもしれませんが、私が学んだことを書き留めておこうと思います。とにかく、私はこのようにしました。

---------->

開始する前に、Apache 書き換えモジュールが有効になっていることを確認してから、以下の手順に従ってください。

1) Magento 管理エリアにログインし、[システム] > [構成] > [Web ] に移動します。

2) UnsecureおよびSecureタブに移動します。UnsecuredおよびSecure - Base Urlオプションにドメイン名が含まれていることを確認し、URL の末尾のスラッシュを残さないでください。例: http://www.yourdomain.co.uk/

3) まだWebページにいる間に、[検索エンジンの最適化] タブに移動し、[ Web サーバーの書き換えを使用] オプションの下で [はい] を選択します。

4) [セキュア] タブに再度移動し (まだ表示されていない場合)、[フロントエンドでセキュア URL を使用する]オプションで [はい] を選択します。

5) Magento Web サイト フォルダーのルートに移動し、.htaccess に次のコードを使用します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

.htaccess を保存し、元のファイルを置き換えます。(元の .htaccess ファイルをいじる前に必ずバックアップしてください!!!)

6) [システム] > [キャッシュ管理] に移動し、すべてのフィールドを選択し、[アクション] ドロップダウンが [更新] に設定されていることを確認してから送信します。(もちろん、これによりキャッシュが更新されます。)

---------->

これで問題が解決しない場合は、次の追加手順に従ってください。

7) [システム] > [構成] > [web ]に再度移動します。今回は、Current Configuration Scopeを探して、ドロップダウン メニューから Web サイトを選択します。(これはもちろんDefault Configに設定されています)

8) UnsecureフィールドとSecureフィールドに、以前の Default Config ファイルと同じドメインが含まれていることを確認します。

9) [検索エンジンの最適化] タブに移動し、[ Web サーバーの書き換えを使用]セクションの下にある[はい] を選択します。

10) URL が同じになり、書き換えが有効になったら、そのページを保存し、戻ってすべてがデフォルトとしてチェックされていることを確認し、必要に応じて再度保存します。

11) 手順 6 を繰り返します。

これで index.php の問題は修正され、すべてがうまくいくはずです!!!

これがお役に立てば幸いです。幸運を祈ります。

于 2013-03-19T16:23:22.023 に答える
23

以下の手順に従ってください。

ステップ 1: サイトのルート フォルダーに移動すると、.htaccessそこにファイルがあります。テキスト エディタで開き、行を見つけます#RewriteBase /magento/#RewriteBase /「magento/」だけを取り出して置き換えてください

ステップ 2: 次に、管理パネルに移動し、書き換えを有効にします ( Web サーバーの書き換えを使用する場合はyesに設定します)。System->Configuration->Web->Search Engine Optimization で見つけることができます。

ステップ 3: 次に、キャッシュ管理ページ (システム キャッシュ管理) に移動し、キャッシュを更新し、更新してサイトを確認します。

于 2012-05-09T07:21:05.747 に答える
9

クリーンな URL を機能させるには、Apache で mod_rewrite を有効にする必要があります。

mod_rewrite が phpinfo にない場合は、インストールする必要があります。

sudo a2enmod rewrite
sudo apache2ctl -l

AllowOverride nonetoの発生を置き換える必要がありますAllowOverride all( /etc/apache2/sites-enabled/000-default 内)

アパッチを再起動する

sudo service apache2 restart

Magento の管理画面でSystem > Configuration > Web > search engine Optimization、[<code>Use Web Server Rewrites] を [Yes] に変更します。

于 2012-11-12T07:21:22.627 に答える
7

あなたの.htaccessでこれはどうですか:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
于 2012-05-06T22:26:12.023 に答える
2

他の解決策がうまくいかない場合は、次のことを試してください。

ステップ 1: (インストールが webroot にある場合)

交換

    #RewriteBase /magento/

    RewriteBase /

ステップ2:

次の行を追加します (バックエンドは内部で index.php を必要とするため、admin を除外します)。

RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.yourdomain.com/$1 [R=301,L]
RewriteRule ^index.php/(admin|user)($|/) - [L]
RewriteRule ^index.php/(.*) $1 [R=301,QSA,L]

直後の

RewriteRule .* index.php [L] 

これは私のために働く

それでも機能しない場合は、Magento の構成を再確認してください: [システム] -> [構成] -> [Web] -> [検索エンジンの最適化]。書き換えを有効にする必要があります。

于 2015-12-02T14:59:52.567 に答える
2

こんにちは、パーティーに遅れました。.

UbuntuサーバーにApache、MySql、およびPhpをインストールしていたので、Magentoが提供されるディレクトリの作成という見出しにジャンプできると思い、OPと同じ問題に到達しました。つまり、「index.php」が必要でしたすべての URL (または、404 not found が表示されます)。その後、Apache HTTP サーバーのインストールと構成に戻り、Apacheを再起動すると完全に機能します。

参考までに、私は行方不明でした:

sudo bash -c "cat >> /etc/apache2/conf.d/servername.conf <<EOF
ServerName localhost
EOF"

... と

sudo a2enmod rewrite
sudo service apache2 restart

お役に立てれば

于 2013-02-28T12:34:58.023 に答える
1

投稿ですべてを試しましたが、何も機能しませんでした。次に、ErJab が作成した .htaccess スニペットを次のように変更しました。

RewriteRule ^(.*)$ 'folder_name'/index.php/$1 [L]

上記の行で修正されました。*folder_name* は magento のルート フォルダーです。

お役に立てれば!

于 2012-11-14T14:02:01.860 に答える
1

主に「Ubuntu」のような Linux ベースのシステムを使用している場合、これはサーバーではなく localhost ユーザーに対してのみ推奨されます。

前の回答に記載されているすべての手順に従います。+

そのためのApache構成をチェックインします。(AllowOverride All) AllowOverride 値が none の場合は、All に変更し、Apache を再起動します。

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

このステップが誰かに役立つかどうか教えてください。早く見つければ時間の節約になるからです。

ここに画像の説明を入力

localhost の htaccess ファイルから正確な行を追加しています。ご参考までに

路線番号110付近

<IfModule mod_rewrite.c>

############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

#RewriteBase /

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

画像は、画像からテキストから簡単に理解できる一部のユーザー向けです。

ここに画像の説明を入力

于 2016-05-11T07:38:30.530 に答える