1

あなたの助けが必要です!(私の悪い英語でごめんなさい)

Ubuntu13.10/Apache2.4.6 のローカルホストで URL 書き換えを試みています...インターネットで多くの時間を検索しましたが、問題は常にここにあります..

これは私の.htaccessです(URLの書き換えから始めるので、大丈夫かどうかわかりません):

RewriteEngine On
AllowFromAll All
RewriteRule home/   index.php?uc=home

に行くと127.0.0.1/mywebsite/home/、404エラーが発生します。

  • 私の .htaccess は次の場所にあります: mywebsite/.htaccess
  • 「sudo a2enmod rewrite」でURL書き換えを有効にし、apacheを再起動しました。
  • Apache ログにエラーはありません
  • /etc/apache2/sites-available/default で AllowOverride を On に変更する必要があるというソリューションを読みましたが、/etc/apache2/sites-available/default ファイルがありません
  • 迷っています...

どうすればいいのかわからない...

多くのテストの後:AllowOverrideに問題があると思います

4

3 に答える 3

0

それで...これがうまくいかない場合は、最初から始めましょう。

httpd.conf を見つける

LoadModule rewrite_module libexec/mod_rewrite.soAddModule mod_rewrite.cコメントマーク(#)なしで、そこにある必要があります

あなたの .htaccess には、次のものがあります。

# The server must follow symbolic links (this can help in some apache versions)
Options +FollowSymlinks

# RewriteEngine activation
RewriteEngine on

# RewriteRule
RewriteRule ^home$   index.php?uc=home [L]

この構成は、Apache 2.2.22 で動作します。

真実はそれです

/index.php?uc=home [L]

ポイントhttp://127.0.0.1/index.php

それ以外のhttp://127.0.0.1/mywebsite/index.php

DocumentRoot物件だから。実際のドメイン、または /mywebsite/ を指す /wa virtualhost では/index.php?uc=home [L]動作するはずです。

RewriteRule は に関連しておりDocumentRootRewriteBaseこの問題を解決できないことに注意してください。

于 2013-11-14T00:04:19.927 に答える
0

これはもっと似ていると思います:

RewriteRule は RewriteBase に関連しているため、.htacess が /mywebsite/ フォルダーにある場合:

RewriteBase /
RewriteRule /home   index.php?uc=home [L]

このように動作するはずです、私に知らせてください;)

于 2013-11-13T22:34:30.127 に答える