.htaccess重定向到目录取决于URL

时间:2016-04-26 13:47:03

标签: apache .htaccess url redirect directory


1)我有这样的目录结构:

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

在'专辑'有一个画廊页面和网页'有一个WordPress页面。 如何填充.htaccess(我想在root目录中)重定向地址取决于URL中的内容:

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

我已经在root .htaccess中尝试了这样的事情,但没有成功(有不断重定向到domain.org/web):

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

.htaccess是WordPress的默认值:

# 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

如何解决这个谜语?

问候。

------------------
问题的可能答案之一(

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是此代码的最后一行。有两个空格。我想第一个空格意味着&#34;空字符串&#34;。这很奇怪(也是糟糕的编码)然而它有效并且我有足够的重定向。

1 个答案:

答案 0 :(得分:1)

您可以在root .htaccess中使用这些规则:

RewriteEngine On

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