2

.htaccess の変更に行き詰まっています。少し助けが必要です。
まず、これが私のhtaccessの中身です。

RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php [nc]

たとえば、test.php という名前のファイルを作成し、サーバーにアップロードしました。

サーバーをこのように動作させたいです。

http://example.com/test/test.html -> http://example.com/test/test.html(as it is)
http://example.com/test/test.php -> http://example.com/test/test.html

しかし、私が今持っている .htaccess では、まだ .php と .html の両方があり、Google ロボットのような検索エンジン クローラーによってファイルの複製と見なされる可能性があります (そうではありませんか?)。

どんな助けでも感謝します。

4

3 に答える 3

1

この .htaccess コードを試してください

# Enable Rewrite Engine
RewriteEngine on

#Create friendly URL
RewriteRule ^test/(.*)\.html$ test/$1\.php [L]

また

RewriteCond %{REQUEST_URI} ^(.*)\.php$
RewriteRule ^(.*) /$1.html [L]

また

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## .php to .html
# To externally redirect /test/test.php to /test/test.html
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1.html [R,L,NC]
于 2013-03-21T10:42:20.677 に答える
1

ルート ディレクトリの .htaccess ファイルでこれを試すことができます。

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.html             [NC]
RewriteRule ^([^/]+)/([^.]+)\.php  /$1/$2.html [R=301,NC,L]

サイレント マッピングの場合、[R=301,NC,L] を [NC,L] に置き換えます。

于 2013-03-21T11:28:19.223 に答える
1

これは apache '.htaccess' の構成ファイルです。構成してから変更する場合

RewriteEngine on

私はこの仕事を願っています

于 2013-03-21T11:14:58.523 に答える