2012-02-22 14 views
4

次のURL構造のWebサイトを開発する準備が整いました。URLリライト.htaccess

私はリライトするための初心者ですが、これを処理する最善の方法を知りたいと思います。

http://domain.com     index.php 
http://domain.com/about    about.php 
http://domain.com/agencies   agencies.php 
http://domain.com/contact   contact.php 
http://domain.com/publisher   publisher.php 
http://domain.com/publisher/sign_up publisher_signup.php 
http://domain.com/agencies/sign_up agencies_signup.php 
http://domain.com/agencies/login  login.php 
http://domain.com/advertiser   advertiser.php 
http://domain.com/advertiser/sign_up advertiser_signup.php 
http://domain.com/advertiser/login login.php 

最も効率的なhtaccessの書き換えは何ですか?

各行を手動で書き直して入力するか、または使用できる検索/置換がありますか?

私は長期的に考えているURL内のスラッシュの数は一例

http://domain.com/area/sub_area/sub_area2/sub_area3 

ための最も4 可能性が任意の助けいただければ幸いです。

答えて

2

ごめんなさいが、あなたの「URL」の変換は、私が行うことができます(=それは彼らが正確に同じ原則を共有していないため、「一般化」することはできません)ので、ここで最高だ均質ではありません。

RewriteEngine On 
^/?$ index.php [NC,QSA,L] 
^/?about$ about.php [NC,QSA,L] 
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L] 
^/?(publisher|agencies|advertiser)/sign_up$ /$1_signup.php [NC,QSA,L] 
^/?(publisher|agencies|advertiser)/login$ /login.php [NC,QSA,L] 
あなたはあなたが求めているものと完全には一致しません「均質な」ものにしたい場合

しかし、あなたはこのような「クリーナー」のルールがあり:

RewriteEngine On 
^/?$ index.php [NC,QSA,L] 
^/?about$ about.php [NC,QSA,L] 
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L] 
^/?(agencies|contact|publisher|advertiser)/sign_up$ /$1_signup.php [NC,QSA,L] 
^/?(agencies|contact|publisher|advertiser)/login$ /login.php [NC,QSA,L] 

をそして、あなたは本当にすべてを集中管理したい場合、することができます(=型を渡すphpファイル):

RewriteEngine On 
^/?$ index.php [NC,QSA,L] 
^/?about$ about.php [NC,QSA,L] 
^/?(agencies|contact|publisher|advertiser)$ /$1.php [NC,QSA,L] 
^/?(agencies|contact|publisher|advertiser)/(sign_up|login)$ /$2.php?type=$1 [NC,QSA,L] 
+0

ありがとうオリバー。 1つの変更は^ /?$ about.phpについてです。それ以外の場合はチャンピオンのように動作します – justanotherdeveloper

+0

私の喜び=)私は修正しました –