.phpで終わるすべてのURLを非拡張バージョンにリダイレクトする301必要があります。しかし、書き換えルールは、以下の既存のルールで動作する必要があります。htaccess複数のスラッシュを含むURLから.php拡張子を削除します
# ==== REWRITE URLS ====
RewriteEngine On
# pass through root
RewriteRule ^(index\.php|Sitemap\.xml)?$ - [L]
# no more/so add extension
RewriteCond $1 !/
RewriteCond $1 !\.php$
RewriteCond ${REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /$1.php [L]
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^(_assets|_css|_fonts|_includes|_scripts)($|/) - [L] #exclude these folders using the 'last: L' flag
RewriteRule ^(.*)/(.*)$ /$1-$2 [L]
これはこの質問hereの拡張です。
ので、望ましい結果は次のとおりです。
domain.com/region/brand/more-content-here.php
はに永続的にリダイレクトします:
domain.com/region/brand/more-content-here
しかしで実際のファイルを取り出す:
domain.com/region-brand-more-content-here.php
は、いくつかのさまざまなアイデアを試みたが、彼らはdidnの既存のルールではうまく動作していないようで、htaccessは私の強みではありません。また、それはクエスチョンのフレンドリーである必要があります。どんな助けもありがとう。
パーフェクト!ありがとうございました。 #2はすでに既存のルールでカバーされていたので、私が必要としたのはステップ1でした。 – Dodo