ホームページ  >  記事  >  php教程  >  .htaccess ファイルを Rewrite で楽しむ

.htaccess ファイルを Rewrite で楽しむ

WBOY
WBOYオリジナル
2016-06-21 08:51:29712ブラウズ

私が初めて 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 を有効にする必要があります:

  1. confhttpd.conf を開き、#LoadModule rewrite_module を検索し、# 記号を削除してモジュールをロードします
  2. confextrahttpd-vhosts.conf を開き、AllowOverride なし を探し、なしをすべてに変更します

環境の準備が完了した後も、リライトの「パターン マッチング」における特殊文字の解釈を理解する必要があります。

<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 個以上の文字を表します

+ は前の 1 個以上の文字を表します

? は前の 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.html

RewriteRule ^(.*)<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>

RewriteCond %{HTTP_HOST} ^www.uicss.cn [NC]

にジャンプできるようにしますRewriteRule ^(.*)$ http://uicss.cn/$1 [L,R=301]

指定されたディレクトリへのリダイレクトを有効にするコード:

RewriteBase /top/ 検索パラメータを使用したリダイレクト: RewriteRule ^search/(.+)?$ /index.php?s=$1 [QSA,L] ディレクトリの末尾にスラッシュを追加します: RewriteRule ^(.+[^/])$ /$1/ [R]
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。