.htaccess - htaccess - 重定向条件不适用于本地主机
问题描述
我在 htaccess 中有这个重定向
我想重定向
http://localhost/www/foo/bar.php?city=new_york&data=4156
至
http://localhost/www/foo/new_york/?&data=4156
我已经创建了这个 htaccess:
RewriteEngine on
RewriteCond %{REQUEST_URI} bar\.php$
RewriteCond %{QUERY_STRING} ^city\=([^&]+)(.*)$
RewriteRule ^(.*)/bar.php$ http://%{HTTP_HOST}/$1/%1/?%2 [L,R=301]
但这不适用于本地主机。URL 保持不变,旧的。我已经用https://htaccess.madewithlove.be/测试了这些规则,它们似乎按预期工作。那么这只是 localhost 的事情还是 htaccess 错误?
解决方案
您可以在以下情况下使用此规则foo/.htaccess
:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^city=([^&]+)&(.*)$ [NC]
RewriteRule ^bar\.php$ /foo/%1/?%2 [L,R=301]
请注意,这将重定向到,因为在 URL之后http://localhost/www/foo/new_york/?data=4156
没有&
正确的意义。?
推荐阅读
- weka - Weka:如何将测试数据属性转换为与训练数据属性一致?
- spring-boot - Spring Boot:无法使用 Gradle 构建
- .net - 使用 Content-Type 从 .net 核心调用 POST API:multipart/form-data
- java - IntelliJ IDEA 找不到 JDK 目录
- python - 使用完全匹配正则表达式时在 Python 中格式化原始字符串
- javascript - 如何使用 JavaScript 显示来自 Web 浏览器开发人员工具的通知?
- javascript - 如何设计具有下拉效果的下拉菜单?
- php - 如何从 \DateTime 中减去一毫秒?
- python - 运行python3,使用python2代码,我将httplib更改为http.client,错误
- javascript - 如何将数字数组转换为字典