htaccess - Silverstripe 中的 Wordpress
htaccess - Wordpress inside Silverstripe
我在 Silverstripe 安装的子目录中安装了 Wordpress。由于重写,我无法让 Wordpress 网站的前端显示,但是如果我附加 /index.php.
后端就没有问题
如果我尝试将 /index.php 附加到 /subdirectory/index.php,它会重定向回子目录。 WP htaccess 中没有规则,所以我认为 Silverstripe 不喜欢这些扩展。
我尝试通过在重写引擎之后将其添加到 Silvestripe 站点来排除整个子目录文件夹:
RewriteCond %{REQUEST_URI} !^/subdirectory/.*
没弄对。有没有办法让 'subdirectory' 做自己的事?
重写规则也适用于子文件夹。如果您 在您的 WP 子文件夹中没有 .htaccess
,您应该创建一个并禁用 URL 重写该文件夹。因此,将具有以下内容的 .htaccess
放入您的 WP 文件夹中:
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
当然你也可以定义自定义重写规则......重要的是,你有自己的 .htaccess
.
您应该在 SilverStripe 根文件夹和 WordPress 文件夹中都有规则,否则 WordPress 不会 运行 没有 index.php。像这样的东西应该可以工作(尽管不是 100% 确定 WordPress 规则):
SilverStripe .htaccess
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase '/'
RewriteCond %{REQUEST_URI} !^/wordpress/.*
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
/wordpress 文件夹中的 Wordpress .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
我在 Silverstripe 安装的子目录中安装了 Wordpress。由于重写,我无法让 Wordpress 网站的前端显示,但是如果我附加 /index.php.
后端就没有问题如果我尝试将 /index.php 附加到 /subdirectory/index.php,它会重定向回子目录。 WP htaccess 中没有规则,所以我认为 Silverstripe 不喜欢这些扩展。
我尝试通过在重写引擎之后将其添加到 Silvestripe 站点来排除整个子目录文件夹:
RewriteCond %{REQUEST_URI} !^/subdirectory/.*
没弄对。有没有办法让 'subdirectory' 做自己的事?
重写规则也适用于子文件夹。如果您 在您的 WP 子文件夹中没有 .htaccess
,您应该创建一个并禁用 URL 重写该文件夹。因此,将具有以下内容的 .htaccess
放入您的 WP 文件夹中:
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
当然你也可以定义自定义重写规则......重要的是,你有自己的 .htaccess
.
您应该在 SilverStripe 根文件夹和 WordPress 文件夹中都有规则,否则 WordPress 不会 运行 没有 index.php。像这样的东西应该可以工作(尽管不是 100% 确定 WordPress 规则):
SilverStripe .htaccess
<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase '/'
RewriteCond %{REQUEST_URI} !^/wordpress/.*
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule .* framework/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
/wordpress 文件夹中的 Wordpress .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>