使用.htaccess文件重写URL

时间:2013-08-01 09:21:26

标签: apache .htaccess url-rewriting

我想在指定的网址

中添加https
 RewriteEngine On
 RewriteCond %{HTTPS} !=on
 RewriteCond %{HTTP_HOST} ^magsonwink.winkplatform.com/Shopping/paynow
 RewriteRule ^(.*)$ https://magsonwink.winkplatform.com/Shopping/paynow%{REQUEST_URI} [QSA,R=301,L]  

但这不适合我。谷歌搜索后,我无法获得指定的答案。如果有人知道这个,请帮帮我

提前致谢。

2 个答案:

答案 0 :(得分:1)

以下是更正后的代码:

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteCond %{HTTPS}s on(s)|
RewriteCond %{HTTP_HOST} ^magsonwink\.winkplatform\.com$ [NC]
RewriteRule ^Shopping/paynow(?:/.*|)$ http%1://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]  
  • 上述代码适用于HTTP和HTTPS
  • 不需要使用QSA标志,因为您没有修改查询字符串

答案 1 :(得分:0)

%{HTTP_HOST}变量主机名,其中没有URL路径信息。因此,您需要将其删除并将其添加到规则中的模式中:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^magsonwink.winkplatform.com$ [NC]
RewriteRule ^/?Shopping/paynow(.*)$ https://magsonwink.winkplatform.com/Shopping/paynow$1 [QSA,R=301,L]