0

私のhtaccessで変換しますか?次のように # に:

# The below 2 lines will convert a ? to a # in the query.
RewriteCond %{REQUEST_URI} !^\/*(admin|access.php)
RewriteCond %{QUERY_STRING} .
RewriteRule ^(.*) /$1#%{QUERY_STRING}? [R=301,L,NE,NC]

これは convert とは何ですか? URL に次のいずれかが含まれていない限り、

/admin
/access.php

したがって、次のような URL は ? を取得しません。変換された:

http://mysite.com/access.php?login=special

ただし、検索パラメーターに ? を使用する必要があります。(# ではない) の使用が許可されます:

http://mysite.com/?s=somesearchstring&submit=Search

そして、私はそれを機能させるために苦労しています。現在のルールでは、? 変換され、最終的には次のようになります。

http://mysite.com/#s=somesearchstring&submit=Search

しかし、私はそれを変換する必要はありませんか? #に。

助言がありますか?

4

2 に答える 2

0

次の作品を追加するようです:

RewriteCond %{QUERY_STRING} !^s=

しかし、その理由を明確に理解していないと、問題が発生するのではないかと心配しています。

ここに私の理解があります:

クエリ文字列の場合

!(does not)^(start with)s=

何か不足していますか?一見すると、これで問題が解決したように見えますが、不完全であるかエラーが発生しやすいのではないでしょうか?

于 2013-08-08T17:05:01.903 に答える