【发布时间】:2018-05-09 15:28:39
【问题描述】:
我的 Wordpress 网站上有两个页面需要作为 https 服务;其余的是香草http。将整个站点推送到 https 将涉及大量数据库编辑以避免混合内容,因此我正在寻找编写一个 htaccess 脚本以使用 RewriteRule 来仅针对这两个页面进行更改。
两个页面的浏览器地址是一样的 http://example.com/draw/membership-login/ 和 http://example.com/draw/membership-join/membership-registration/ 请注意,它们都包含“会员资格”这个词,而其他页面都没有(或者我相信),所以我想我会写一个规则来查找任何包含“会员资格”的 REQUEST_URI。我这样做并将其放在 .htaccess 中的 Wordpress 自己的脚本之前(.htaccess 在目录 draw 中,即 Wordpress 安装的主目录)。看起来像这样(只有前 4 行是我的;其余的是 WordPress,除了我已经注释掉了他们的 RewriteEngine On)。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} membership
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=302, L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
#RewriteEngine On
RewriteBase /draw/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /draw/index.php [L]
</IfModule>
# END WordPress
结果?除了作为 404 的两个会员页面外,所有页面都可以正常运行。
我想这在某种意义上是个好消息,因为 RewriteCond 一定在寻找会员页面,但 RewriteRule 显然没有达到我的预期。
非常感谢任何帮助。
【问题讨论】:
标签: wordpress .htaccess ssl https