需要我的Apache .htaccess规则的一些指导。对你来说应该是一个很好的简单的向导:)
基本上设置如下:
www
,并从我们的应用程序加载。www
子域中。*.domain.com
或usersdomain.com
以显示用户的正确页面。/blog/
用于通配符域和子域,以便在用户页面上加载/blog/
页面,这样他们就可以拥有自己的博客。换一种说法。任何非www.domain.com
主机都应绕过/blog
Wordpress安装并路由到我们的应用程序,以从应用程序加载正确的非wordpress页面。 现在,如果您访问usersdomain.com/blog/
或userssubdomain.domain.com
,则会加载Wordpress安装,这不是理想的行为。
这是我们目前的htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteCond $1 !^blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
有没有人有任何想法如何实现上述目标?基本上需要一个RewriteRule或条件
"如果请求主机不是
www.domain.com
,则忽略/blog
目录和 发送至index.php
"
我正在考虑这个问题,但没有运气:https://stackoverflow.com/questions/12502885/how-to-exclude-all-files-and-directories-except-one-directory-rewritecond
答案 0 :(得分:1)
我将以下内容添加到my / blog /目录中的.htaccess中以解决此问题。
#rewrite back to root index if not local dev or live main host
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} !^dev\.local\.domain\.com [NC]
RewriteRule .* /index.php/$0 [PT,L]
回退当然是必须为此类别中的每个请求读取2个htaccess文件,这不是理想的但是它有效并且它不是应用程序的主要功能。