【发布时间】:2011-09-07 06:12:07
【问题描述】:
我想强制我的注册页面使用 https,并允许使用 https 或 http 浏览所有其他页面(例如,http://www.example.com/signup 应该重定向到 https://www.example.com/signup)。我能够强制所有页面到 https,但不能只让一个页面重定向到 https。该页面只是作为 http 正常加载。
这是我尝试在我的 htaccess 文件中使用的代码:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/signup(/.*)$ https://www.example.com/$1 [R=301,L]
为了它的价值(如果有我不知道的冲突),我还使用以下代码强制所有页面重定向到 www 并从 URL 中的文件名中删除 .php:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php?/$1
对我做错了什么有什么想法吗?
【问题讨论】:
标签: apache .htaccess redirect https rewrite