19

私のmagentoはUbuntuLinuxの/var/ www/magentoにインストールされています。この質問は、アーカイブ内のいくつかの質問のように見えますが、実際には多少異なります。Ubuntu LinuxにMagentoをインストールしたときに、Apachemod_rewriteURLの書き換えを有効にしました。

http:// localhost / magentoにアクセスすると、サーバーはURLをhttp:// localhost / magento /に書き換えて、ページを表示します。次に、ナビゲーションバーのリンクの1つをクリックします。たとえば、ナビゲーションバーの項目「foo」をクリックします。次に、magentoは私を次の場所に連れて行きます:

http:// localhost / magento / foo.html

「見つかりません」のapacheページが表示されます。

URLを----->に変更する必要があります

http:// localhost / magento / index.php / foo.html

ページを表示するため。

mod_rewriteの動作に何か問題があるようです。

ありがとう、

ジョン・ゴッシュ

構成:システム->構成->(一般->)Web:

Webサーバーの書き換えを使用する:はい

ベースURL:http:// localhost / magento

「UserWebServerRewrites:」をNOに設定すると、メインページからのリンクは正常に機能しますが、正しいページを表示するhttp:// localhost / magento / index.php/foo.htmlページを参照してください。ウェブサイトは機能します私はURLが好きではありません。index.phpビットなしでhttp:// localhost / magento / foo.htmlにしたいのですが、これもおそらくSEOに適しているからです。

ありがとう、

ジョン・ゴッシュ


更新:ubuntuが/ etc /hostsに配置した人工の127.0.1.1IPアドレスのコメントを解除し、実際のIPを配置しようとしましたが、うまくいきませんでした。私はまだまったく同じ問題を抱えています。また、ブラウザ内のURLは、192.168.3.31、avalanche、またはavalanche.comと入力するたびに、http:// localhost /etc...に書き換えられます。私はまだ上記の問題を解決する方法を見つけようとしていますが、これでは解決しませんでした。

127.0.0.1       localhost
#127.0.1.1      avalanche

192.168.4.35    avalanche avalanche.com

Apacheを再起動すると、次のようになります。

# service apache2 restart
 * Restarting web server apache2                                                apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.4.35 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.4.35 for ServerName

元の問題を修正する方法がわからない。ローカルサーバーでテストしています。


このソリューションを試した後、apache2を再起動しましたが、うまくいきませんでした。

URLからindex.phpを削除する方法は?

だから配置:

RewriteEngine On
RewriteBase /mymagento/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

RewriteBase /を使用しても機能しませんが、機能しません。


OK、ついに私は問題を解決することができました。ファイル/etc/ apache2 / sites-enabled / 000-defaultには、このファイル内で定義されているすべてのディレクトリに次のディレクティブが設定されています。

 AllowOverride None

たとえば、Ubuntu 12.04LTSLinuxシステムで設定されたデフォルトのドキュメントルートである/var/ wwwの場合、このファイルには次のものが含まれます。

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

私が理解している限り、これは、このディレクトリとそのすべてのサブディレクトリで見つかった.htaccessファイルが解析されないことを意味します。問題を修正するには、以下を設定するだけで十分です。

AllowOverride All

つまり、/ etc / apache2 / apache2.conf(またはそこに含まれている/etc/apache2/httpd.conf)にあるサーバー構成ディレクティブをオーバーライドできます。

AllowOverrideがデフォルトでNoneに設定されている理由の1つは、サーバーの速度を低下させることであり、もう1つはセキュリティ上の理由です。このディレクティブはタグ内に設定する必要があり、後者は前者をオーバーライドできます。これがデフォルトで設定されていないもう1つの理由は、ディレクトリパス内のファイルが読み込まれるたびにサイト全体で.htaccessを再帰的に解析する必要があるため、システムの速度が低下し、.htaccessのものが/etc/apache2/httpd.confに配置される可能性があるためです。速度が上がる可能性があるため、可能な場合は推奨されます。

だから場所

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            #AllowOverride None
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

/ etc / apache2 / sites-enabled/000-default内

実行:service apache2 restart

解決策です。

4

7 に答える 7

20

試しましたか:

RewriteBase /magento/

あなたのURLは http:// localhost/magento/ であるため、 RewriteBase /mymagento/ ではありません

あなたのApache仮想ホストは設定を上書きすることを許可していますか?

<VirtualHost *:80>
...
<Directory /var/www/magento/>
    AllowOverride All
</Directory>
</VirtualHost>
于 2012-07-29T09:42:23.863 に答える
4

Magento ルートに適切な .htaccess ファイルがありますか? また、 で問題が発生する場合がありますlocalhost。127.0.0.1 を使用するか、hosts ファイルで dev ドメインをマップすることをお勧めします。

于 2012-07-28T16:52:26.690 に答える
3

Magento 構成 (Magento 管理パネルで [システム] > [構成] からアクセス) 内には、最終的な検索エンジン フレンドリー URL がどのように見えるかを決定する関連設定がいくつかあります。

Web > Search Engine Optimization > Use Web Server Rewrites

常にオンにする必要がある設定。そうしないと、「/index.php/」が不要で見苦しい URL に追加されます。このオプションを有効にするには、ホスティング環境で Apache mod_rewrite を有効にする必要もあります

Catalog > Search Engine Optimizations > Product URL Suffix

ここでのデフォルト値は「.html」で、各製品 URL に追加されます。一部の SEO 専門家は、これがより良い評価のために必要であると主張していますが、他の SEO エクスポートはそうではないと主張しています。MageBridge と Joomla の統合のために!この設定は空にする必要があります。

Catalog > Search Engine Optimizations > Category URL Suffix

上記と同じですが、カテゴリが追加されました。

Catalog > Search Engine Optimizations > Use categories path for product URLs

このオプションを有効にすると、製品 URL にカテゴリ URL キーも含まれます。これがコンテンツの重複を引き起こしていると主張することもできますが、製品ページはより大きな構造の一部になるため、このことからも恩恵を受ける可能性があります.

Catalog > Search Engine Optimizations > Use Canonical Link Meta Tag For Products

重複コンテンツが本当に心配な場合 (一部の人が言うほど悪くはありません)、重複コンテンツが検出されたときにどのページが先行しているかを検索エンジンに伝える canonical タグを有効にすることができます。

Catalog > Search Engine Optimizations > Use Canonical Link Meta Tag For Categories

上記と同じですが、カテゴリ用です。

この問題についてさらに読むhttp://www.yireo.com/tutorials/magento/magento-administration/664-fixing-url-rewrites-with-magento

于 2012-07-29T10:24:38.583 に答える
3
Go to admin url of your site. 
Suppose,http://example.com/index.php/admin/

Go to 'System' menu from navigation and click on 'Configuration'.
Under the 'General' tab in the left, click on 'Web'.
Open the 'Search Engines Optimization' section by clicking on it.
Then set 'Use Web Server Rewrites' value to 'No'
于 2014-08-28T10:08:19.337 に答える