掲示板に戻る




canonical 投稿者: 田沼
お世話になります。MAX7使用中
下記のほうに質問でcanonicalを使用してスマホとpcページに宣言を入れて・・

私もして見たのですが、まず スマホの方には一覧も詳細ページにpcのURLが正しく出ます。例えば
<link rel="canonical" href="https://xxxxxx/html/xxxx.html">

でも、pcの方には &が入ってしまうのが原因なのか 正しいスマホのURLではないようです。
<link rel="alternate" media="only screen and (max-width: 640px)" href="https:/xxxxx/main.cgi?mode=smart_item&no=1234">
No.277542017/9/26(Tue) 0:14:39 Res


Re: canonical 投稿者: えふ
.htaccessを使ってリダイレクトすると?や&は無くなるのですが、

https:/xxxxx/main.cgi?mode=smart_item&no=1234
の部分を
https:/xxxxx/smart_item/1234
として
.htaccessに
RewriteEngine on
RewriteCond %{REQUEST_URI} smart_item
RewriteRule ^/smart_item/(.*)$ /main.cgi?mode=smart_item&no=$1 [L]
と記入
こんな感じだと思いますが。
No.277572017/9/27(Wed) 0:50:46 Res


Re^2: canonical 投稿者: 田沼
お世話になります &を無くしたいと言う意味ではなくて、この掲示板の
2ページ目に『せいじ』という方の質問の続きのような質問なんです

そこでえふ様が『せいじ』という方に指摘されていたように私も実行した結果
canonical pcにもスマホにも コードを追加したら

スマホの方のソースは正しく出ます
例えばhttps://xxx/html/4609.html と出るようになりました

pcのほうのソースを見ますと下記のようにならないといけないのですが
https://xxx/cgi/main.cgi?mode=smart_item&page_id=seishin&no=4609

ぜんぜん 違うURLが出ます







> .htaccessを使ってリダイレクトすると?や&は無くなるのですが、
>
> https:/xxxxx/main.cgi?mode=smart_item&no=1234
> の部分を
> https:/xxxxx/smart_item/1234
> として
> .htaccessに
> RewriteEngine on
> RewriteCond %{REQUEST_URI} smart_item
> RewriteRule ^/smart_item/(.*)$ /main.cgi?mode=smart_item&no=$1 [L]
> と記入
> こんな感じだと思いますが。
No.277602017/9/27(Wed) 18:16:14 Res


Re^3: canonical 投稿者: えふ
詳細のスキンに
<link rel="alternate" media="only screen and (max-width: 640px)" href="#itemurl">
といれて

cgi/lib/makehtml.plの

530行の
$skinline=~s/#des/${$des}/;
の下に
$itemurl="https://www.xxxxxx/cgi/main.cgi?mode=smart_item&page_id=$page_id&no=$no";
$skinline=~s/#itemurl/$itemurl/;
No.277682017/9/29(Fri) 23:51:27 Res