2

サイトの新しい CMS として Wordpress を使用し、多くのページにパーマリンクを使用する予定です。問題は、Wordpress の外部に、パーマリンクと重複するディレクトリ内に残す必要のある古いページやファイルが多数あることです。たとえば、WP ページのパーマリンクは次のようになります: http://www.domain.com/support/

しかし、同じ URL でアクセスする必要がある /support/ ディレクトリ内で人々がまだ使用している php アプリやその他のファイルがいくつかあります。パーマリンクと同じ場所にディレクトリがある場合、パーマリンクは無視されます。

私はこれを調査しており、おそらく物理ディレクトリの名前を(たとえば「A-support」に)変更し、正確なディレクトリを指すURLを除くすべてを新しい場所にリダイレクトできることがわかりました。

したがって、これはリダイレクトされません:
http://www.domain.com/support/

ただし、これらはすべて新しい /A-support/ ディレクトリの場所にリダイレクトする必要があります: http://www.domain.com/support/page.html
http://www.domain.com/support/subdirectory/
http:// www.domain.com/support/subdirectory/page.html

これは、/A-support/ フォルダー内にすべてを直接リダイレクトするだけで、サブディレクトリでは機能しないため、これまでのところ機能していないように見える .htaccess ルールです。

RewriteCond %{REQUEST_URI} support/(.+)$
RewriteCond %{REQUEST_URI} !support/(.+)/$
RewriteRule ^support/(.+)$ http://www.domain.com/A-support/ [L]

私はドキュメントを見てきましたが、それは私にとって比較的紛らわしい機能であり、正しく理解できないようです.

助けてくれてありがとう!

4

1 に答える 1

1

代わりにこれを試してください:

RewriteRule ^support/(.+)$ http://www.domain.com/A-support/$1 [L]

あなたが見逃している主なものは$1後方参照です。これはリダイレクト/support/せず、その中のものだけをリダイレクトするべきではありません。他の条件は必要ありません。

于 2013-10-22T03:58:17.043 に答える