<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>想当摄影师的程序员 &#187; route</title>
	<atom:link href="http://blog.iworm.net/tag/route/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iworm.net</link>
	<description>争取不惑之年成为一名自由摄影师</description>
	<lastBuildDate>Tue, 10 Jan 2012 04:09:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/cn/</creativeCommons:license>
		<item>
		<title>Windows 7 不能连接L2TP/IPSec VPN的解决办法，以及MacOS拨上VPN后，默认路由没改的解决办法</title>
		<link>http://blog.iworm.net/2011/08/12/windows-7-%e4%b8%8d%e8%83%bd%e8%bf%9e%e6%8e%a5l2tpipsec-vpn%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95%ef%bc%8c%e4%bb%a5%e5%8f%8amacos%e6%8b%a8%e4%b8%8avpn%e5%90%8e%ef%bc%8c%e9%bb%98%e8%ae%a4/</link>
		<comments>http://blog.iworm.net/2011/08/12/windows-7-%e4%b8%8d%e8%83%bd%e8%bf%9e%e6%8e%a5l2tpipsec-vpn%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95%ef%bc%8c%e4%bb%a5%e5%8f%8amacos%e6%8b%a8%e4%b8%8avpn%e5%90%8e%ef%bc%8c%e9%bb%98%e8%ae%a4/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 06:48:18 +0000</pubDate>
		<dc:creator>iworm</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[操作系统]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[connect]]></category>
		<category><![CDATA[default]]></category>
		<category><![CDATA[failed]]></category>
		<category><![CDATA[l2tp]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[route]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.iworm.net/?p=913</guid>
		<description><![CDATA[最近几篇都是讲不能xxx的原因&#8230;. Windows 7里连接不上L2TP/IPSec的VPN，提示无法连接主机，主机没响应。 前提是：L2TP都设置正确，协议是L2TP/IPSec，Preshared Key也填写了。 具体解决办法如下： 1. 确保服务里面“IKE and AuthIP IPSec Keying module” 和“IPSec policy agent”两个服务状态是自动，并且已经运行 2. 打开注册表，在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent里添加一个DWORD（32-bit），名称是AssumeUDPEncapsulationContextOnSendRule的key，值为2 重启电脑即可。 如果你是在公司域中，需要在VPN设置里，去掉Include Windows logon domain前面的钩即可。 如果是在MacOS中发现VPN能连上，但是默认路由还是走原来的，并没有走VPN，可以参考这篇文章，把Service Order改一下，让VPN在Wifi/Ethernet之前就好了 参考文章： 《Windows 7 IPSec/L2TP VPN connection problem》 《How to configure an L2TP/IPsec server behind a &#8230; <a href="http://blog.iworm.net/2011/08/12/windows-7-%e4%b8%8d%e8%83%bd%e8%bf%9e%e6%8e%a5l2tpipsec-vpn%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95%ef%bc%8c%e4%bb%a5%e5%8f%8amacos%e6%8b%a8%e4%b8%8avpn%e5%90%8e%ef%bc%8c%e9%bb%98%e8%ae%a4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>最近几篇都是讲不能xxx的原因&#8230;.</p>
<p>Windows 7里连接不上L2TP/IPSec的VPN，提示无法连接主机，主机没响应。</p>
<p>前提是：L2TP都设置正确，协议是L2TP/IPSec，Preshared Key也填写了。</p>
<p>具体解决办法如下：<br />
1. 确保服务里面“IKE and AuthIP IPSec Keying module” 和“IPSec policy agent”两个服务状态是自动，并且已经运行<br />
2. 打开注册表，在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent里添加一个DWORD（32-bit），名称是AssumeUDPEncapsulationContextOnSendRule的key，值为2</p>
<p>重启电脑即可。</p>
<p>如果你是在公司域中，需要在VPN设置里，去掉Include Windows logon domain前面的钩即可。</p>
<p>如果是在MacOS中发现VPN能连上，但是默认路由还是走原来的，并没有走VPN，可以参考<a title="VPN connection does not change the default routing on clients" href="https://discussions.apple.com/thread/2092429?start=0&amp;tstart=0" target="_blank">这篇文章</a>，把Service Order改一下，让VPN在Wifi/Ethernet之前就好了</p>
<p>参考文章：<br />
<a title="Windows 7 IPSec/L2TP VPN connection problem" href="http://social.technet.microsoft.com/Forums/en-US/w7itpronetworking/thread/630488b8-e638-488d-803a-08ef9281e4fb/" target="_blank">《Windows 7 IPSec/L2TP VPN connection problem》</a></p>
<p><a title="How to configure an L2TP/IPsec server behind a NAT-T device in Windows Vista and in Windows Server 2008" href="http://support.microsoft.com/kb/926179" target="_blank">《How to configure an L2TP/IPsec server behind a NAT-T device in Windows Vista and in Windows Server 2008》</a></p>
<p><a title="VPN connection does not change the default routing on clients" href="https://discussions.apple.com/thread/2092429?start=0&amp;tstart=0" target="_blank">《VPN connection does not change the default routing on clients》</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.iworm.net%2F2011%2F08%2F12%2Fwindows-7-%25e4%25b8%258d%25e8%2583%25bd%25e8%25bf%259e%25e6%258e%25a5l2tpipsec-vpn%25e7%259a%2584%25e8%25a7%25a3%25e5%2586%25b3%25e5%258a%259e%25e6%25b3%2595%25ef%25bc%258c%25e4%25bb%25a5%25e5%258f%258amacos%25e6%258b%25a8%25e4%25b8%258avpn%25e5%2590%258e%25ef%25bc%258c%25e9%25bb%2598%25e8%25ae%25a4%2F&amp;title=Windows%207%20%E4%B8%8D%E8%83%BD%E8%BF%9E%E6%8E%A5L2TP%2FIPSec%20VPN%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95%EF%BC%8C%E4%BB%A5%E5%8F%8AMacOS%E6%8B%A8%E4%B8%8AVPN%E5%90%8E%EF%BC%8C%E9%BB%98%E8%AE%A4%E8%B7%AF%E7%94%B1%E6%B2%A1%E6%94%B9%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95" id="wpa2a_2"><img src="http://blog.iworm.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.iworm.net/2011/08/12/windows-7-%e4%b8%8d%e8%83%bd%e8%bf%9e%e6%8e%a5l2tpipsec-vpn%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95%ef%bc%8c%e4%bb%a5%e5%8f%8amacos%e6%8b%a8%e4%b8%8avpn%e5%90%8e%ef%bc%8c%e9%bb%98%e8%ae%a4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/cn/</creativeCommons:license>
	</item>
		<item>
		<title>How to: Implement Dynamic Route in CakePHP</title>
		<link>http://blog.iworm.net/2009/12/17/how-to-implement-dynamic-route-in-cakephp/</link>
		<comments>http://blog.iworm.net/2009/12/17/how-to-implement-dynamic-route-in-cakephp/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 16:53:30 +0000</pubDate>
		<dc:creator>iworm</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[route]]></category>

		<guid isPermaLink="false">http://blog.iworm.net/?p=668</guid>
		<description><![CDATA[I&#8217;ve found a method to implement Dynamic Route in CakePHP. If we develop a CMS program using CakePHP, we often let people to define their menu code. The menu code basically is the URL path. For example: An admin create &#8230; <a href="http://blog.iworm.net/2009/12/17/how-to-implement-dynamic-route-in-cakephp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found a method to implement Dynamic Route in CakePHP.<br />
If we develop a CMS program using CakePHP, we often let people to define their menu code. The menu code basically is the URL path.<br />
For example: An admin create a menu named &#8216;Milk Product&#8217;, and give this menu a code &#8216;product&#8217;.<br />
He wish to access this menu via /product</p>
<p>So we can add a static route in routes.php<br />
Router::connect(&#8216;/product&#8217;, array(&#8216;controller&#8217; => &#8216;product&#8217;, &#8216;action&#8217; => &#8216;index&#8217;));</p>
<p>But one day, he want to change the menu code from &#8216;product&#8217; to &#8216;milkproduct&#8217;? What to do then? Ask the site admin to edit the routes.php? Of course not.</p>
<p>We can use the code below to resolve this problem.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$menus</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
Cache<span style="color: #339933;">::</span><span style="color: #004000;">delete</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'routemenus'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$menus</span> <span style="color: #339933;">=</span> Cache<span style="color: #339933;">::</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'routemenus'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'load from db'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$menusModel</span> <span style="color: #339933;">=</span> ClassRegistry<span style="color: #339933;">::</span><span style="color: #004000;">init</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Menu'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$menus</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$menusModel</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'all'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'conditions'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'parent_id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'1'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    Cache<span style="color: #339933;">::</span><span style="color: #004000;">write</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'routemenus'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$menus</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$menus</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$menuitem</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    Router<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$menuitem</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Menu'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'code'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/:action/*'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$menuitem</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'MenuType'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'code'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
Router<span style="color: #339933;">::</span><span style="color: #004000;">connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'homepage'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'index'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>We have 2 menu related tables: menus and menu_types.<br />
Their structure as belows:</p>
<pre>menus
    id
    menu_type_id
    parent_id
    lft
    rght
    code
    name
    created
    modified

menu_types
    id
    code
    name
    created
    modified</pre>
<p>The code in menu_types means the controller name, and the code in menus means the path.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fblog.iworm.net%2F2009%2F12%2F17%2Fhow-to-implement-dynamic-route-in-cakephp%2F&amp;title=How%20to%3A%20Implement%20Dynamic%20Route%20in%20CakePHP" id="wpa2a_4"><img src="http://blog.iworm.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.iworm.net/2009/12/17/how-to-implement-dynamic-route-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.5/cn/</creativeCommons:license>
	</item>
	</channel>
</rss>

