8

ウェブサイトがあります。残念ながら、すべてのURLに.htmlサフィックスが付いています。Magentoのインストールです。MagentoではCMSでこれを変更できますが、残念ながら、.htmlサフィックスが付いたこのURLはすべてGoogleで上位にランクされています。非にリダイレクトする必要があり.htmlます。

したがって、次のシナリオを検討してください。このサイトを最初から再構築しているため、新しいサイトにも同じURLがありますが、.htmlサフィックスはありません。

  • 今は: www.example.de/cool-shoes.html
  • になります:www.example.de/cool-shoes

www.example.de/cool-shoes.htmlそのため、もう存在しません。私は.htaccessを使用してリダイレクトを試みましたが運 ありませんでした。

私はこれまで試しました:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule (.*)index\.html$ /$1 [R=301,L] 

と:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

しかし、それはうまくいかないようです...何かアイデアはありますか?

4

8 に答える 8

12

さて、いくつかの調査の後、書き換えルールでこれを達成できなかった後、次のコード行が機能しました。

redirectMatch 301 ^(.*)\.html $1

これは、URL拡張子を削除し、リンク切れを回避するのに非常に役立ちます。将来誰かに役立つことを願っています...

乾杯!

于 2012-04-23T11:35:54.813 に答える
8

これにより、URLが次のように書き換えられますhttp://example.com/page.html- > http://example.com/page

# Remove .html from url
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
于 2012-07-15T23:45:36.983 に答える
4

サイトのルートディレクトリにある.htaccessファイルに次のファイルを追加して、拡張子が.htmlのURLをリダイレクトして削除してみてください。

Options +FollowSymLinks -MultiViews
DirectorySlash Off

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME}/ -d
RewriteCond %{SCRIPT_FILENAME}.html !-f
RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+)\.html$ /$1 [R=301,L]

RewriteCond %{SCRIPT_FILENAME}.html -f
RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L]
于 2012-09-21T16:21:31.367 に答える
2

これが私のために働いた解決策です。

    RewriteCond %{THE_REQUEST} \.html [NC]
    RewriteRule ^(.*)\.html$ /$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}\.html -f
    RewriteRule ^(.*)$ $1.html [L]
于 2014-04-10T22:20:24.580 に答える
1

これでうまくいくはずです:

RewriteEngine On
RewriteRule ^(\w+)\.html$ /$1 [R=301,L]
于 2012-04-20T11:21:34.073 に答える
1

手順に従うと、.htaccessファイルを変更せずにURLから.htmlを削除できるようになります。

于 2012-04-20T11:35:17.223 に答える
0

.htaccessファイルを挿入するためにこれを試してください永続的なリダイレクトwww.mysite.de/cool-shoes.htmlwww.mysite.de/cool-shoesこれはあなたに役立つかもしれません

于 2012-04-24T12:35:13.980 に答える
0

これは、.html /product/raspberrypi.html ---> /product/raspberrypi/(/product/raspberrypi/index.php)で終わるURL用です。index.phpは非表示になっています。これを理解するのにしばらく時間がかかりました。笑...

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

'REQUEST_URI'を使用して、アプリケーションによってオーバーライドされる可能性があるため、インデックスリダイレクトルールの前に追加する必要があります。ファイル名はすべてルートフォルダ(Wordpress)にindex.phpがあるため、リダイレクトしようとしているファイル名やディレクトリではなく、そのURIを知っておくことが重要です。

于 2017-01-21T06:18:42.487 に答える