6

私は .htaccess 全体に少し慣れていないので、リンクのいずれも、それぞれの URL の末尾に末尾のスラッシュがないように変更しようとしています。私のウェブサイトは filmblurb.org です。

Wordpress が開始および終了する .htaccess のコードは次のようになります。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

誰かがこれを修正する方法について正しい方向に導くことができれば幸いです。ありがとう。

4

3 に答える 3

8

RewriteRule を追加して、末尾のスラッシュを削除できます。

RewriteRule ^(.*)/$ $1 [R=301,L]
于 2013-02-26T04:41:51.290 に答える
2

この問題は、.htaccessが原因ではなく、ワードプレスのパーマリンクと.htaccessの組み合わせが原因で発生します。

  1. サイトにログインしてパーマリンクに移動します。カスタム構造オプションを使用していない場合は、それに切り替えて、最後にスラッシュが付いていないことを確認してください。

    /%category%/%postname%
    
  2. 次に、これを.htaccessファイルの上の

    RedirectMatch 301 ^(.*)/$ /$1
    

これはリダイレクトであり、リライトではないため、リライトを使用するよりも優れています。

それでも機能しない場合は、yoast seoプラグインをインストールすることをお勧めします。これを行うには、プラグインに設定があります。

于 2013-02-26T12:30:55.177 に答える
0

これは私にとってはうまくいきます。REQUEST_URI がスラッシュで始まることを強調しながら、すべてのルートからすべての末尾のスラッシュを削除します (少なくとも .htaccess ファイルでは):

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /(.*)/$
RewriteRule ^ /%1 [R=301,L]

使用しないでください %{REQUEST_URI} (.*)/$。ルート ディレクトリでは、REQUEST_URI が先頭のスラッシュである / に等しいため、末尾のスラッシュとして誤って解釈される可能性があります。

ソース: https://stackoverflow.com/a/27264788/2732184

于 2016-11-24T07:03:12.373 に答える