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;。这很奇怪(也是糟糕的编码)然而它有效并且我有足够的重定向。
答案 0 :(得分:1)
您可以在root .htaccess中使用这些规则:
RewriteEngine On
ReWriteCond %{HTTP_HOST} ^(www\.)?domain\.org$ [NC]
ReWriteRule ^((?!album).*)$ web/$1 [L,NC]