0

私の実際の URL は次のとおりです。

www.mysite.com/site/index.php

私は欲しい:

www.mysite.com/home.html

.htaccess に次のように記述します。

  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule (.*)/home.html$ /site/index.php

しかし、404エラーに行きます

何か助けはありますか?

Tk。

アップデート:

ドメインが実際に www.my-site.com であるという効果がありますか??

アップデート:

www.my-site.com に保存し、次のように変更します。

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteBase /
  RewriteRule ^home\.html$ site/index.php
</IfModule>

しかし、仕事はありません。

4

4 に答える 4

1

RewriteRuleディレクティブのパターン部分は、リクエストのパス(/ my / request /など)と一致し、ホストとクエリ文字列は含まれません。また、 .htaccessコンテキストでは、先頭のスラッシュがパターンに含まれていないことにも注意してください。

  Options +FollowSymlinks
  RewriteEngine On
  RewriteBase /
  RewriteRule ^home\.html$ site/index.php
于 2013-03-21T21:35:54.910 に答える
0

あなたはコメントで言った:

ファイル.htaccessはwww.mysite.com/site/に保存されます

つまり、現在のパターンを使用すると、次のwww.mysite.com/site/anything/home.htmlように書き換えられるアクセスが可能になります。www.mysite.com/site/site/index.php

.htaccessをドキュメントルートに配置し、すでに提案されているように、この部分をパターンから削除する必要があります。(.*)/

于 2013-03-22T09:47:51.143 に答える
0

このサイトは、IIS 上の Windows で実行されるサーバーである godaddy.com によってホストされているため、ルールを web.config ファイルに書き込む必要があります。

<configuration>
 <system.webServer>
   <rewrite>
  <rules>
    <rule name="Imported Rule 1">
      <match url="^home\.html$" ignoreCase="false" />
      <action type="Rewrite" url="site/index.php" />
    </rule>
  </rules>
</rewrite>
 </system.webServer>
</configuration>

信じられない!!

于 2013-03-27T19:26:36.917 に答える