这个对我来说有点棘手,我希望尽可能减少这个URL。理想情况下,我想更改此网址:
http://www.example.co.uk/profile/profile.asp?profile_id=1&top=1&abt=2&ft=3&school=Something%20School
为:
http://www.example.co.uk/something-school/
使用.htaccess文件。
这意味着我们将使用school get变量替换.asp文件名,删除/ profile /以及其他get变量。
这可能吗?如果是这样的话?如果没有,你可能会给我一个替代方案吗?
非常感谢任何帮助!
修改
用户Badhorsie为我编写了一条重写规则,可以进行精确转换。遗憾的是,网页无法加载,因为遗憾的是这些get变量是加载页面所必需的。
我猜测隐藏get变量是不可能的。在哪种情况下可以保留get变量但保持它们干净?看起来这个目录也是必要的吗?
或许类似于:www.example.co.uk/profile/something-school/1/1/2/3
我们可以摆脱学校变量,因为它不需要(只需要替换profile / profile.asp部分。
答案 0 :(得分:0)
试试这个:
RewriteCond %{QUERY_STRING} (.+(?=&school))school=([\w%-]+)
RewriteRule ^profile/profile.asp /%2?%1 [L,NE,R=301]
答案 1 :(得分:0)
你试过这个RewriteRule吗?尝试在.htaccess文件中添加此代码。
RewriteRule ^http://www.example.co.uk/profile/profile.asp?profile_id=1&top=1&abt=2&ft=3&school=Something%20School?$ http://www.example.co.uk/something-school/ [L]