2011-10-28 5 views
-3

動的URLを静的URLに変換するのを手伝ってください.htaccessはPHPで行います。htaccessによるPHPのURL書き換え

例1:

www.example.com/say.php?name=ksrtc-palakkad-kerala&id=c669239(動的URL)

www.example.com/say/ksrtc-palakkad-kerala-c669239.html(静的URL)


例2:

www.example.com/index.php?name=ksrtc-palakkad-kerala&id=c669239(動的URL)

www.example.com/say/ksrtc-palakkad-kerala-c669239.html(静的URL)

よろしく、 Prabhat

答えて

3

あなたは次のようになります.htaccessを作成する必要があります。今、フルパスがあるindex.phpにリダイレクトされます

RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php [L] 

を - この意志をあなたのシングルエントリーポイントであれば、私がよく思い出した場合は$_SERVER['REQUEST_URI']でアクセスできます。

このURLが一致する可能性があるすべてのルート(正規表現)を知り、urlを解析し、それに応じてGET変数を設定するルールセットを書くのはあなたの仕事です(2番目の例 - name、idから) 。 URLが既知のURLと一致しない場合は、エラーページに転送してください。

そしてまた、あなたが逆ルーティングを、誰かが無地でURLを開くと、「index.phpを?名前= ksrtc-パラカッド - ケララ&のid =のc669239」のような変数は、あなたが "に301 PERMANENT REDIRECTにリダイレクトする必要があります行う必要がありますSEO「url」/say/ksrtc-palakkad-kerala-c669239.html「

これで問題が解決しない場合は、詳しく説明してください。

+0

返信ありがとう私はhtaccessと関係があると知っていますが、私はhtaccessにrewriteruleを書き込んでURLを受け入れるべきだとは知らない "/say/ksrtc-palakkad-kerala-c669239.html – user1017808