繁体   English   中英

用查询字符串重写URL

[英]rewriting url with query string

继续我在这里问的内容,我想自动重写以下网址

http://testsite.com/siterootb/sample-page.php?bbi=value1&bbl=value2

http://testsite.com/siterootb/sample-page/value1/value2

我的htaccess现在看起来像

RewriteEngine on

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.*) http://localhost%{REQUEST_URI}%1? [R=301,L]

###########################################################################
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/siterootb/([^/]+)/([^/]+)/([^/]+)
RewriteCond %{DOCUMENT_ROOT}/siterootb/%1.php -f
RewriteRule ^/?([^/]+)/([^/]+)/([^/]+) $1.php?bbi=$2&bbl=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

我经历了URL重写-查询字符串URL重写了查询字符串wordpress如何删除? 使用htaccess从网址中获取的信息以及我从[query-string] [.htaccess]

添加以下规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /siterootb/([^.]+)\.php\?bbi=([^&\ ]+)&bbl=([^&\ ]+)
RewriteRule ^ /siterootb/%1/%2/%3? [L,R=301]

您必须与%{THE_REQUEST}变量进行匹配的原因是,您想直接与请求的内容进行匹配,而不是URI。 URI会随着规则的应用而变化,因此,如果您与%{REQUEST_URI}变量匹配,则将与另一个规则所做的更改匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM