<![CDATA[ プラグイン:SEO Strict URLs 1.0.1 - My Forums]]> https://forums.modx.com/thread/?thread=56329 <![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=3#dis-post-330717
CSSを読み込む部分にimport.cssを使用していて、その記述が
@import "[~4~]";
@import "[~3~]";
@import "[~5~]";
というように書いていて、CSSが反映されなかったため、action|href以外の部分の.htmが消えてないからだと
思いこんでしまってました、、、

ただ単に<base>タグの記述が上記タグよりも下に記述していたためでした。

ほんとスイマセンです・・・
]]>
freakale Apr 22, 2009, 03:44 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=3#dis-post-330717
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=3#dis-post-330716 Quote from: freakale at Apr 22, 2009, 06:14 AM

<title>ほげほげ</title>
<base href="[(site_url)]" />
<link rel="stylesheet" type="text/css" href="[~2~]" media="all" />
<link rel="alternate" type="application/rss+xml" href="[~17~]" title="ほげほげ" />
<script type="text/javascript" src="[~10~]"></script>
<script src="[~16~]" type="text/javascript"></script>
</head>

としているのですが、結果は
<title>ほげほげ</title>
<base href="[(site_url)]" />
<link rel="stylesheet" type="text/css" href="ABC.css" media="all" />
<link rel="alternate" type="application/rss+xml" href="DEF.xml.htm" title="ほげほげ" />
<script type="text/javascript" src="GHI.js"></script>
<script src="JKL.js" type="text/javascript"></script>
</head>

となってしまいます。
これって、どこが問題なんでしょうか?
17番のドキュメントのURL [~17~] が、「DEF.xml.htm」ぢゃなくて「DEF.xml」にならないといけないということですか?

だとすると、17番のドキュメントの seoOverride テンプレート変数が「BaseName」になってないだけだとか...?
(設定状況がわからないので、かなり想像入ってます! tongue)]]>
tkfmnet Apr 22, 2009, 02:25 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=3#dis-post-330716
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=3#dis-post-330715
なぜかうまくいくところといかないところが出てしまいます。

例えば、
<title>ほげほげ</title>
<base href="[(site_url)]" />
<link rel="stylesheet" type="text/css" href="[~2~]" media="all" />
<link rel="alternate" type="application/rss+xml" href="[~17~]" title="ほげほげ" />
<script type="text/javascript" src="[~10~]"></script>
<script src="[~16~]" type="text/javascript"></script>
</head>

としているのですが、結果は
<title>ほげほげ</title>
<base href="[(site_url)]" />
<link rel="stylesheet" type="text/css" href="ABC.css" media="all" />
<link rel="alternate" type="application/rss+xml" href="DEF.xml.htm" title="ほげほげ" />
<script type="text/javascript" src="GHI.js"></script>
<script src="JKL.js" type="text/javascript"></script>
</head>

となってしまいます。

SEOStrictURLs(Phize版)を使っているのですが、変更箇所は以下の青字部分の削除と赤字部分の変更で良いでしょうか?
//<?php

~省略~

elseif ($e->name == ’OnWebPagePrerender’)
{
if ($editDocLinks)
{
$myDomain = $_SERVER[’HTTP_HOST’];
$furlSuffix = $modx->config[’friendly_url_suffix’];
$baseUrl = $modx->config[’base_url’];
$o = &$modx->documentOutput; // get a reference of the output

// Reduce site start to base url
$overrideAlias = $modx->aliasListing[$modx->config[’site_start’]][’alias’];
$overridePath = $modx->aliasListing[$modx->config[’site_start’]][’path’];
// Modified by Phize
$o = preg_replace("#((href|action)=\"|$myDomain)($baseUrl)?($overridePath/)?$overrideAlias$furlSuffix([^\w-\.!~\*\(\)])#", ’${1}’ . $baseUrl . ’${5}’, $o);
// $o = preg_replace("#((href|action)=\"|$myDomain)($baseUrl)?($overridePath/)?$overrideAlias$furlSuffix#", ’${1}’ . $baseUrl, $o);

if ($override)
{
// Replace manual override links
$sql = "SELECT tvc.contentid as id, tvc.value as value FROM " . $modx->getFullTableName(’site_tmplvars’) . " tv ";
$sql .= "INNER JOIN " . $modx->getFullTableName(’site_tmplvar_templates’) . " tvtpl ON tvtpl.tmplvarid = tv.id ";
$sql .= "LEFT JOIN " . $modx->getFullTableName(’site_tmplvar_contentvalues’) . " tvc ON tvc.tmplvarid = tv.id ";
$sql .= "LEFT JOIN " . $modx->getFullTableName(’site_content’) . " sc ON sc.id = tvc.contentid ";
$sql .= "WHERE sc.published = 1 AND tvtpl.templateid = sc.template AND tv.name = ’$overrideTV’";
$results = $modx->dbQuery($sql);
while ($row = $modx->fetchRow($results))
{
$overrideAlias = $modx->aliasListing[$row[’id’]][’alias’];
$overridePath = $modx->aliasListing[$row[’id’]][’path’];
switch ($row[’value’])
{
case 0:
// Modified by Phize
$o = preg_replace("#((href|action)=[\"’]($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix([^\w-\.!~\*\(\)])#", ’${1}’ . $overrideAlias . ’${5}’, $o);
// $o = preg_replace("#((href|action)=\"($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix#", ’${1}’ . $overrideAlias, $o);
break;
case 2:
// Modified by Phize
$o = preg_replace("#((href|action)=[\"’]($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix(/|([^\w-\.!~\*\(\)]))#", ’${1}’ . rtrim($overrideAlias, ’/’) . ’/’ . ’${6}’, $o);
// $o = preg_replace("#((href|action)=\"($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix/?#", ’${1}’ . rtrim($overrideAlias, ’/’) . ’/’, $o);
break;
}
}
}

if ($makeFolders)
{
if ($emptyFolders)
{
// Populate isfolder array
$isfolder_arr = array();
$result = $modx->db->select(’id’, $modx->getFullTableName(’site_content’), ’published > 0 AND isfolder > 0’);
while ($row = $modx->db->getRow($result))
$isfolder_arr[$row[’id’]] = true;
}

// Replace container links
foreach ($modx->documentListing as $id)
{
if ((is_array($isfolder_arr) && isset($isfolder_arr[$id])) || count($modx->getChildIds($id, 1)))
{
$overrideAlias = $modx->aliasListing[$id][’alias’];
$overridePath = $modx->aliasListing[$id][’path’];
// Modified by Phize
$o = preg_replace("#((href|action)=[\"’]($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix(/|([^\w-\.!~\*\(\)]))#", ’${1}’ . rtrim($overrideAlias, ’/’) . ’/’ . ’${6}’, $o);
// $o = preg_replace("#((href|action)=\"($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix/?#", ’${1}’ . rtrim($overrideAlias, ’/’) . ’/’, $o);
}
}
}
}
}

]]>
freakale Apr 22, 2009, 01:14 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=3#dis-post-330715
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330714 変更された部分
$o = preg_replace("#(($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix([^\w-\.!~\*\(\)])#", '${1}' . $overrideAlias . '${5}', $o);

の最後の方にある${5}を${4}に変えてみてください。
他の変更された部分の同じような場所も、数字の部分を1引いたものにしてみて下さい。
例えば、${6}であれば${5}にする、といったような感じにです。
ちょっと時間がないので試していませんが、恐らくこれでうまくいく、と思います。]]>
yassi Apr 21, 2009, 05:00 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330714
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330713
yassiさんの
SEO Strict URLs のソース内でpreg_replace()関数の中で

(href|action)=[\"’]

を削除すればすべからく置換してくれると思います。

試してませんが。
とあるのですが、

$o = preg_replace("#((href|action)=[\"’]($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix([^\w-\.!~\*\(\)])#", ’${1}’ . $overrideAlias . ’${5}’, $o);
// $o = preg_replace("#((href|action)=\"($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix#", ’${1}’ . $overrideAlias, $o);

を、

$o = preg_replace("#(($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix([^\w-\.!~\*\(\)])#", ’${1}’ . $overrideAlias . ’${5}’, $o);
// $o = preg_replace("#((href|action)=\"($baseUrl)?($overridePath/)?|$myDomain$baseUrl$overridePath/?)$overrideAlias$furlSuffix#", ’${1}’ . $overrideAlias, $o);
(他2カ所も同じ)

のようにしてしまうと、閉じる部分のダブルコーテーションが消えてしまいます。 

ものすごい基本的なところかもしれませんが、よろしくお願いします。
]]>
freakale Apr 21, 2009, 03:10 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330713
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330712 Quote from: yassi at Aug 16, 2007, 01:39 PM

ただ、プラグインの目的がSEO対策ですからhrefやactionで十分だと考えたのではないでしょうか。
う~ん、「なるほど!」と言うべきか...笑

いずれにしても、私の環境の問題ではなくて、もともとそういう仕様だということが理解できました!
また、改造のポイントもご指摘頂きましたので、これから使うときに注意しますね~

ありがとうございました。]]>
tkfmnet Aug 16, 2007, 11:46 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330712
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330711 どうもありがとうございます!できました laugh
]]>
MEGU Aug 16, 2007, 09:07 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330711
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330710
ただ、プラグインの目的がSEO対策ですからhrefやactionで十分だと考えたのではないでしょうか。
<script type="text/javascript" src="[~55~]" />
なども対象にしたいのであれば、
(href|action)=[\"’]


(href|action|src)=[\"’]

に変更すれば出来ると思います。
例によって試してませんが。 grin
]]>
yassi Aug 16, 2007, 08:39 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330710
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330709 私も、yassiさんのお話が良く理解できていないんですけども。。

もしやと思って、試してみたのですが、
単に[~55~]と書いた場合に「sample.xml.html」となってしまうだけでなく、
たとえば、<script type="text/javascript" src="[~55~]" />とかして、Base Name を選んでも
「.html(接尾辞)」がくっついて来ちゃうんですね。。

おおざっぱに言うと、条件として、href とaction の場合に置き換える処理を行っていると言うことなんでしょうか。
私もなぜその様になっているのか知りたいです~。]]>
MEGU Aug 16, 2007, 08:21 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330709
<![CDATA[Re: &#12503;&#12521;&#12464;&#12452;&#12531;&#65306;SEO Strict URLs 1.0.1]]> https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330708 Quote from: yassi at Aug 16, 2007, 04:53 AM

SEO Strict URLs のソース内でpreg_replace()関数の中で
(href|action)=[\"’]

を削除すればすべからく置換してくれると思います。
PHP初心者故に、ご指摘頂いた内容が理解できていませんが、
スニペットのソースでは「意図的に」このようにしているということでしょうか?
それともyassiさんのご指摘の対策をすると、何らかの他のケースで悪さが起こるんですかね?]]>
tkfmnet Aug 16, 2007, 07:47 AM https://forums.modx.com/thread/56329/seo-strict-urls-1-0-1?page=2#dis-post-330708