2012-01-18 10 views
0

ように私はちょうどarticlenameを使用するようにwordpressのパーマリンク構造を設定し、正常に動作ワードプレス:mod_rewriteの最初の「フォルダ」の名前GETパラメータ

この

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
のように見えるの.htaccessを得ました。

私は様々なテンプレートファイル内の異なる場所(ベルリン、ハンブルグ、ミュンヘンなど)を区別したいと思います。

http://myurl.com/berlin/articlename

、今私は

http://myurl.com/articlename?location=berlin

しかし

http://myurl.com/articlename

にこれを書き換える必要がありますので、私は、このようなURLに場所を追加しようと思いました

または

http://myurl.com/category/articlename

はまだ動作するはずです。あらかじめ定義された場所を探してください(berlin | hamburg | muenchen)。

これを達成するには、上記のRewriteRuleをどのように調整する必要がありますか?

答えて

0

私は.htaccessファイルに以下の追加でこれを固定:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} !location 
RewriteRule ^(muenchen|berlin)/$ /index.php?location=$1 [NC,QSA,P] 

RewriteCond %{QUERY_STRING} !location 
RewriteRule ^(muenchen|berlin)/(.*)$ /$2?location=$1 [NC,QSA,P] 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 
0

だから基本的に何を求めていることhttp://myurl.com/(word1)/(word2)/(すなわちのみなしより劣らず、正確二つの単語にマッチする)、内部http://myurl.com/(word2)?location=(word1)にサーバ側で書き換えられてしまうことですならば、ここにある:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule /([^/]+)/([^/]+)/$ /$2?location=$1 [QSA,L] 

    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
</IfModule> 
+0

正確ではない - '(WORD1)は'ベルリンやハンブルクのいずれかである場合にのみ書き換え - それ以外の場合はそのままURLを保管してください。 – pkyeck

関連する問題