私のmagentoはUbuntu Linuxの/ var/www/magentoにインストールされています。 この質問は、アーカイブ のいくつかの質問のようですが、実際には多少異なります。 Ubuntu LinuxにMagentoをインストールしたとき、Apacheのmod_rewrite URLの書き換えを有効にしました。ホームページ以外のMagento URLはindex.phpなしでは動作しません
私がhttp:// localhost/magento に行くと、私のサーバはURLをhttp:// localhost/magento/ と書き換え、そのページを表示します。次に、ナビゲーションバーのリンク の1つをクリックして、nav-bar項目 "foo"としましょう。
ます。http: はその後Magentoのは、私を取る// localhostの/ Magentoの "見つかりません" apacheのページを表示する/ foo.htmlという
。
私はURLへ----->
のhttpに変更する必要があります。ページを表示するために// localhostの/ Magentoの/ index.phpを/ foo.htmlという
を。
私のmod_rewriteの動作では、何かが間違っているようです。
おかげで、
ジョンGoche
構成:システム - >設定 - >(一般 - >)ウェブ:
使用するWebサーバー書き換え:YES
ベースURLます。http: // localhost/magento
"User Web Server Rewrites:"をNOに設定した場合、メインページのリンク は問題なく動作しますが正確なページを表示する http:// localhost/magento/index.php/foo.html を参照してください。一方、 のWebサイトは動作しますが、私はURLが気に入らないのです。私は は、http:// localhost/magento/foo.html のindex.phpビットなしにしたいと考えています。これはおそらく になります。
おかげで、
ジョンGoche
アップデート:私はUbuntuは/ etc/hostsに入れていた私の人工127.0.1.1のIPアドレス のコメントを解除しようとした私の本当のIP THER置きましたが、 運がありません。私はまだまったく同じ問題を抱えています。 内のURLは、 192.168.3.31、avalanche、avalanche.comと入力するとhttp:// localhost/etc ...に書き換えられます。 私はまだこれをしなかったので、上記の問題 を解決する方法を見つけようとしています。私は、Apacheを再起動すると
127.0.0.1 localhost
#127.0.1.1 avalanche
192.168.4.35 avalanche avalanche.com
は私が取得:
# 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を再起動しましたが、運がない!
How to remove index.php from URLs?
ので、置く:
RewriteEngine On
RewriteBase /mymagento/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
もでRewriteBase /と、動作しません、それは動作しません。
OK、最終的に私はprobkemを解決することができました。 ファイルは/ etc/apache2の/ 000-デフォルト/サイト対応 は、このファイル内で定義されたすべてのディレクトリに対して次のディレクティブが設定 があります。既定のドキュメントは/ var/WWWのために、例えば
AllowOverride None
をUbuntuの12.04 LTSのLinuxシステム上のルート セットは、このファイルには、私の知る限り理解し にこのディレクトリとそのサブディレクトリのすべてを発見した.htaccessファイルを解析できないことを意味します
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
が含まれています。あなたが/etc/apache2/apache2.conf(または/etc/apache2/httpd.confで見つかったサーバーの設定ディレクティブ を上書きすることができます意味
AllowOverride All
:設定するのに十分であるという問題を解決するには これには が含まれています)。
AllowOverrideがデフォルトで[なし]に設定されている理由の1つは、 の場合はサーバーの速度が低下し、もう1つはセキュリティ上の理由によることがあります。この ディレクティブはタグの中に設定し、後者のタグは最後のタグを無効にすることができます。これが ではない別の理由は、ディレクトリパスのファイルが であるたびに、サイト全体で.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の/ 000-デフォルト/サイト対応
を配置し、実行します。
が解決され、サービスのApache2を再起動します。
/var/www/mymagento/.htaccessにあります(そして、http:// myip/mymagento/adminに行きます。これは、http:// myip/mymagento/index.php/adminが動作するのに対して、ファイルは見つかりません)。 – user1527429
問題を解決できた場合は、質問に追加しないでください。代わりにそれを別の答えにしてください。あなたは許可され、そうするように奨励されます。 – Bart