2016-04-26 10 views
0


1)私は、このようなディレクトリ構造持つに依存します。の.htaccessリダイレクトがURL

.htaccess 
album/ 
    index.php 
web/ 
    .htaccess 
    index.php 
    ... 
... 

で「アルバム」をギャラリーページがあると「ウェブ」でWordPressのページがあります。アドレスをリダイレクトするために(私はルートディレクトリに仮定).htaccessファイルを埋めるためにどのように はURLにあるものに依存します:

www.domain.org   -> goto /web and display wordpress page 
www.domain.org/album -> goto /album and display gallery page 

私はルートの.htaccessにそんなことを試みたが、成功せずに(一定のリダイレクトがドメインにあり.ORG /ウェブ):Webディレクトリ内

RewriteEngine On 
ReWriteCond %{HTTP_HOST} ^(www\.)?domain\.org$ [NC] 
ReWriteRule ^(.*)$ /web 
ReWriteCond %{HTTP_HOST} ^(www\.)?domain\.org/album$ [NC] 
ReWriteRule ^(.*)$ /album [L] 

の.htaccessは、ワードプレスのデフォルトです:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /web 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

この謎を解決するためにどのように?

よろしく。

------------------ thequestionに可能な答えの
つ(

RewriteEngine On 

ReWriteCond %{HTTP_HOST} ^(www\.)?domain\.org$ [NC] 
ReWriteRule ^album(.*)$ album$1 [L] 

ReWriteCond %{HTTP_HOST} ^(www\.)?domain\.org$ [NC] 
ReWriteRule web/$1 [L] 

Weardは、このコードの最後の行である。二つがあります。スペース私はしかし、それは動作し、私はそれらのリダイレクトを十分に持っている最初のスペースは、これは奇妙な(とも悪いコーディング)で「空の文字列」を意味するとし

答えて

1

あなたは、ルートの.htaccessにこれらのルールを使用することができます。。。

RewriteEngine On 

ReWriteCond %{HTTP_HOST} ^(www\.)?domain\.org$ [NC] 
ReWriteRule ^((?!album).*)$ web/$1 [L,NC] 
+1

あなたの答えをありがとう。それは私に適切な解決方法を教えてくれました。 – rainbow

+0

申し訳ありませんが、あなたが投稿した内容は、 'ReWriteRule^album(。*)$ album $ 1 [L]'は 'album'を' album'に書き換える以外は何もしていません – anubhava

+0

私はこれに熟練していません。どういうわけかこれは唯一の解決策です(私はあなたのものを含む多くの可能性を試しました)。多分これはプロバイダの問題です。 index.phpが自動的に呼び出されるディレクトリに存在するかどうかを覚えておいてください。また、あなたのバージョンはすべての "アルバム/ ../..."を "アルバム/ index.php"、つまり内部管理ページにリダイレクトすると仮定します。正直なところ、私は開発者だが、.htaccessルールは極端に私にとっては直感的ではない。 – rainbow

関連する問題