2011-08-08 24 views
4

私はmod_rewriteで少しジレンマがあります。PHP/Apache:.htaccessでルールを書き直す

私は/EN /ページ/ページを閲覧した場合、私はこれを書き換えたい:私は次のことを決定するルールを記述するにはどうすればよい

index.phpの言語= &ページEN = /ページ

しかし、私はちょうど/ページを閲覧する場合、私はこれを書き換えたい:?
のindex.phpページ= /ページ

これは可能ですか?

編集:
/ページだけでランダムな動的なページ名で、それがaswell どんなである可能性があります。

/se ==文字列のように、2つの文字>/page-> index.php?lang = se & page =/pageをチェックするルールが必要です。 ?ページ= /ページ==よりも長い2つの文字をその/ページに気づくと、index.phpに書き換え

EDIT2:

 

    RewriteEngine On 
    RewriteBase/

    ## Check if its not a filename or dirname 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    ## Rewrite rules 
    RewriteRule ^(.{2})/(.*)$ index.php?lang=$1&page=$2 [L] 
    RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] 

答えて

0
RewriteRule ^page$ index.php?language=en&page=/page/page [L] 
RewriteRule ^page/ index.php?language=en&page=/page [L] 
0

はこれを試してください: は私の質問にANSERが見つかり

RewriteRule ^(.*)/(.*)(/.*)$ index.php?language=$1&$2=$3 [L] 
RewriteRule ^page$ index.php?page=/page/page [L] 
+0

こんにちは、:-)上記の私の編集を参照してください。他の誰かが同じことをするために必要がある場合 はここでルールをです – Fredrik

3

私は自分で動作するようになった!

 
    RewriteEngine On 
    RewriteBase /

    ## Check if its not a filename or dirname 
    RewriteCond %{REQUEST_FILENAME} !-l 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    ## Rewrite rules 
    RewriteRule ^(.{2})/(.*)$ index.php?lang=$1&page=$2 [L] 
    RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]