.htaccess - 无重定向的 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
在地址栏上,这是许多网站(据我所知)创建自己的个人资料页面的方式。
这怎么可能?
解决方案
你可以这样尝试:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ user/?user=$1 [QSA]
或者
RewriteRule ^([^/]+)$ user/index.php?user=$1 [QSA]
添加斜杠后,URL 不会仅通过重写来重定向。
推荐阅读
- node.js - 如何从 node-pty 获取文件描述符?
- django-rest-framework - Django REST Framework ViewSet 方法期望什么返回类型?
- bluetooth - 如何“预配对”蓝牙?
- c++ - 已删除文件夹的 FindFirstChangeNotification
- pyspark - 如何根据每日指标计算一系列状态?
- r - 使用glue_sql() 并避免粘贴在动态SELECT 语句中的方法?
- xapi - 将 xAPI 语句发送到 LRS
- arrays - 寻找示例 JavaScript 代码来验证字符串数组(混合文本和数字)是否按升序 (A-->Z) 顺序排列
- powershell - 带有多个项目的数组的 ConvertTo-Json
- javascript - 在 UseEffect 中设置状态后如何更新状态?