我在一个文件夹中安装了WordPress,并且安装了不同的CMS。
赞:
https://example.com/ => WordPress
https://example.com/en/ => Custom CMS.
我的htaccess是:
RewriteEngine on
RewriteRule ^(en)($|/) - [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
这很好。
现在,我将所有内容移至WordPress安装中。我需要预览更改。我需要这个:
https://example.com/ => WordPress
https://example.com/en/ => Custom CMS
https://example.com/en/?preview_id=142&preview=true => WordPress
这是当URL上有“预览”参数时,我需要显示WordPress网站。
我尝试过:
RewriteEngine on
RewriteCond %{QUERY_STRING} !preview=true [NC]
RewriteRule . /index.php [L]
RewriteRule ^(en)($|/) - [L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
但是它不起作用。有什么想法吗?
答案 0 :(得分:1)
正如您所说的I need to show the WordPress website when there is a "preview" parameter on the URL
和您所做的一样,此RewriteCond %{QUERY_STRING} !preview=true [NC]
的使用方法与此相反,因此请将其更改为:
RewriteCond %{QUERY_STRING} preview=true [NC]
,还要在目标?
的末尾添加广告RewriteRule . /index.php?
,以避免附加查询字符串并进行循环。
您的规则应如下所示:
RewriteCond %{QUERY_STRING} preview=true [NC]
RewriteRule . /index.php? [L]
答案 1 :(得分:-1)
请仅删除.htaccess文件。 删除文件系统后,系统会自动创建新文件,对您来说效果很好。