首页 > 解决方案 > 无重定向的 URL 重写

问题描述

我有几个指令应该将用户重定向到正确的路径:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ user?user=$1 [QSA]

所以写www.mywebsite.com/myprofile它显示www.mywebsite.com/user?user=myprofile

它可以正常工作,但会重定向到该 URL。

我想要的是我的浏览器显示www.mywebsite.com/user?user=myprofile(这是我服务器上的现有文件夹),但仍显示www.mywebsite.com/myprofile在地址栏上,这是许多网站(据我所知)创建自己的个人资料页面的方式。

这怎么可能?

标签: .htaccessurlredirecturl-rewritingaddress-bar

解决方案


你可以这样尝试:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ user/?user=$1 [QSA]

或者

RewriteRule ^([^/]+)$ user/index.php?user=$1 [QSA]

添加斜杠后,URL 不会仅通过重写来重定向。


推荐阅读