mod_rewrite的:从用户使用子域名隐藏查询字符串 [英] Mod_rewrite: hide query string from users with sub domain

查看:135
本文介绍了mod_rewrite的:从用户使用子域名隐藏查询字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图做一些很简单的,但仍扑朔迷离。 我有一个链接 http://sub.example.com/folder/?qvar=value 我想这是通过访问: http://sub.example.com/folder/value

I am trying to do something very simple yet still confusing. I have a link http://sub.example.com/folder/?qvar=value I want this to be accessible via: http://sub.example.com/folder/value

很简单,但我不明白这一点。 我曾尝试以下无济于事:

Very simple yet I cannot figure this out. I have tried the following to no avail:

#RewriteEngine On
#RewriteRule ^(.*)$ ?qvar=$1 [L, QSA]
#RewriteRule ^(.*)$ /folder/index.php?qvar=$1 [L,QSA]
#RewriteRule ^(.*)$ index.php?qvar=$1 [L,QSA]
#RewriteRule ^(.*)$ /folder/?qvar=$1 [L,QSA]
#RewriteRule ([^/\.]+)/?$ index.php?qvar=$1 [L,QSA]

#RewriteCond %{QUERY_STRING} qvar=(.*)
#RewriteRule index.php  %1 [L]

有些给我一个500内部服务器错误。
其他重定向我/次/分/文件夹/.

Some of these give me a 500 internal server error.
Others redirect me to /sub/sub/folder/.

请帮忙!

推荐答案

尝试:

Options +FollowSymLinks -Multiviews
RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub\.example\.com$ [NC]
RewriteCond %{THE_REQUEST} \ /folder/\?qvar=([^&\ ]+)
RewriteRule ^ /folder/%1? [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^sub\.example\.com$ [NC]
RewriteRule ^folder/(.*)$ /folder/?qvar=$1 [L,QSA]

这些规则需要在htaccess的文件在你的文档根目录

These rules need to be in the htaccess file in your document root

这篇关于mod_rewrite的:从用户使用子域名隐藏查询字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆