2

誰もがリダイレクトする方法を知っています

domain / blog / 208-%-top.html

に:

domain / blog / 208-top.html

Joomlaで?

以下のいずれも機能しません。

RewriteRule ^blog/208-%-top.html$ 208-top.html [R=301,L]
RewriteRule ^blog/208-\%-top.html$ 208-top.html [R=301,L]
RewriteRule ^blog/208-.*-top.html$ 208-top.html [R=301,L]

次の場合に機能します:urlに%20または%25があり、htaccessに以下がある

RewriteRule ^blog/208-%20-top.html$ 208-top.html [R=301,L]
RewriteRule ^blog/208-%25-top.html$ 208-top.html [R=301,L]

しかし、問題はブログ投稿に%しか含まれていないことです。これを修正するための回避策はありますか?

4

2 に答える 2

1

このURL:

domain.com/blog/208-%-top.html

は確かに無効なURLであり、ApacheログにHTTP 400(Bad Request)エラーが発生します。

お気づきのとおり、これら2つのURLのいずれかが有効です。

domain.com/blog/208-%20-top.html

また

domain.com/blog/208-%25-top.html

そして、どちらもこの書き換えルールでうまく機能します。

RewriteRule ^blog/208-\%-top\.html$ blog/208-top.html [R=301,L,NC]
于 2012-10-30T11:01:27.510 に答える
0

問題は、apacheがリライトターゲットをURLパスとして適切に識別していないことが原因である可能性があります。これを修正するには、フルパスを含める必要があります。

RewriteRule ^blog/208-\%-top.html$ /blog/208-top.html [R=301,L]
于 2012-10-30T06:21:37.923 に答える