変数を使用してクエリを検索結果ページに渡していました:?s=
。
私はサイトをテストしていましたが、クエリに&
記号が含まれている場合よりも、取得しようとする$_GET['s']
と&記号で切り取られることがわかりました。
試してみましたが&
、変換しても%26
同じ問題が発生します。
それらをエンコードしてURLで渡すにはどうすればよいですか?
編集:
私はそれをエンコードしようとしたが%26
、それでも機能しないことを指摘した。
urlencode()
私が得た?s=pizza%26pasta
とき、私は何度も試しましたprint_r($_GET)
:
Array ( [s] => pizza [pasta] => )
編集2:
.htaccess
問題は実際には「&something =」の「&something」を変換しているように見えることに関係していることがわかりました。htaccessで修正する方法がわかりません。
これは私の.htaccessファイルです:
RewriteEngine On
RewriteBase /
# remove www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]
# rewrite to action
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)/?$ /a/?s=$1 [L,QSA]