私が初めて Web ページを操作し始めたとき、http://uicss.cn/about.htm のような構造を持つ静的ページを作成しました。
後で http://uicss.cn/about/
に変更したいと思いましたが、書き換えに慣れていなかったため、次の調整を行って、手動で多数のフォルダーを作成しました。
このようなディレクトリ構造は維持するのが非常に面倒です。新しいページを追加するたびに、フォルダーを開く必要があります。
実際には、左側の構造を使用してサーバー上でいくつかの設定を行うことで、必要な URL 効果をサポートできます。
まずサーバーが .htaccess をサポートしているかどうかを確認します。
これをサポートしている場合は、ルールを作成するたびにサーバーを再起動する必要がなく、テストに便利です。
<font face="NSimsun">redirect 301 /test.htm http://uicss.cn/</font>
成功した場合、xxx.com/test.htm にアクセスすると、自動的に私のブログにジャンプします。
失敗した場合は、.htaccess を有効にする必要があります:
環境の準備が完了した後も、リライトの「パターン マッチング」における特殊文字の解釈を理解する必要があります。
<code><font face="NSimsun">* 代表前面0或更多个字符<br>+ 代表前面1或更多个字符<br>? 代表前面0或1个字符<br>^ 代表字符串的开始位置<br>^ 在方括号里代表“非”,例如[^/]代表非斜杠。<br>$ 代表字符串结束的位置<br>. 代表任何字符(也就是通配符)<br> 取消后面字符的特殊意思,转为原义字符。<br><span class="float_right">—— 这部分的理解出自《SEO艺术》第六章末</span><br></font>
* は前の 0 個以上の文字を表します
? は前の 0 個または 1 個の文字を表します
^ は文字列の先頭を表します 位置角括弧内の <font face="NSimsun">RewriteEngine on</font>
^ は「not」を表します。たとえば、[^/] は非スラッシュを表します。
の終了位置を表します。任意の文字 (つまり、ワイルドカード文字) を表します。
は、後続の文字の特別な意味を取り消し、元の意味に変換します。 <font face="NSimsun">RewriteRule ^(.*)<strong class="red">/</strong>$ /.htm [L]</font>
—— この部分の理解は、「SEO Art」の第 6 章の終わりから来ています
RewriteRule ^(.*)<strong class="red">.html</strong>$ /.php [L]
始めましょう。.htaccess の書き換えを開きます
xxx.htm ファイルを xxx/
<h5>RewriteRule ^(.*)</h5>/<p>$ /$1.htm [L]<br></p>
<font face="NSimsun">RewriteCond %{HTTP_HOST} ^www.uicss.cn [NC]<br>RewriteRule ^(.*)$ http://uicss.cn/ [L,R=301]</font>
理解を深めるために別の例を示します。これは、サーバー上の xxx.php ファイルを xxx.htmlRewriteRule ^(.*)<br>.html$ / $1.php [L]
<font face="NSimsun">RewriteBase /top/</font>
<font face="NSimsun">RewriteRule ^search/(.+)?$ /index.php?s= [QSA,L]</font>
www.uicss.cn/xxx/ にアクセスするすべてのユーザーが uicss.cn/xxx/<font face="NSimsun">RewriteRule ^(.+[^/])$ // [R]</font>
にジャンプできるようにしますRewriteRule ^(.*)$ http://uicss.cn/$1 [L,R=301]
指定されたディレクトリへのリダイレクトを有効にするコード:
RewriteRule ^search/(.+)?$ /index.php?s=$1 [QSA,L]
ディレクトリの末尾にスラッシュを追加します: RewriteRule ^(.+[^/])$ /$1/ [R]