Mod_rewrite: hide query string from users with sub domain

两盒软妹~` 提交于 2019-12-24 08:49:12

问题


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]

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

Please help!


回答1:


Try:

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]

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



来源:https://stackoverflow.com/questions/20295336/mod-rewrite-hide-query-string-from-users-with-sub-domain

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!