我使用MSM插件在两个不同的域名上运行两个ExpressionEngine站点.站点1包含所有系统文件等,站点2位于站点1的子文件夹中.我的问题是如何让网站二没有在URL中的index.php文件仍然有效?
目前我在我的网站一的htaccess文件夹中有这个,网站一个很好,网站二没有:
<IfModule mod_rewrite.c>
RewriteEngine On
# Removes index.php
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
DirectoryIndex index.html index.php
# Redirect non-www urls to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# If 404s, "No Input File" or every URL returns the same thing
# make it /index.php?/$1 above (add the question mark)
Run Code Online (Sandbox Code Playgroud)
小智 3
相同的 .htaccess 应该适用于两个站点。重写仅涉及index.php 文件,该文件位于每个站点根目录的本地。
我从您的 .htaccess 中看到的一个可能的问题是您将非 www URL 重定向到 www。您的第二个域名设置可以与 www 一起使用吗?如果不是,这显然会是一个问题。