我有以下设置,我的域名(假设abc.com)指向src
src
index.php
blog
index.php
我想将来自 src / blog 文件夹的所有请求重定向到 abc.com/blog ,并从src文件夹中休息。 src和blog都有其他目录,并且都使用路由到index.php来提供页面。
问题是像 abc.com/blog/whatever 这样的网址会转到 src / index.php ,而它应该转到 blog / index.php 编辑 src / .htaccess 不起作用,因为我必须将请求定向到子目录。 以下是:
AliasMatch /blog.* /path/to/blog
导致循环重定向: abc.com/blog/whatever/index.php/index.php/index.php ....
我按照这里的解释: http://www.apachelounge.com/viewtopic.php?t=1566
并且如果我们在别名target中提供目录路径,它会说Apache会添加index.php。
要求很简单:只需将所有博客/ *请求放在博客文件夹中,htaccess应该处理其余的
答案 0 :(得分:0)
<Directory /usr/local/www/apache>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^blog/.*$ /blog/index.php [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
</Directory>
我把它放在apache配置文件中。我扔掉了AliasMatch和.htaccess文件。
答案 1 :(得分:0)
在/blog/.htaccess
中尝试使用此规则作为第一条规则:
RewriteRule ^(.*)$ /src/$1 [L]