您好我想创建一个规则,以消除该URL的第一个目录动态目标,看到的例子:htaccess的使用正则表达式
请求URL:http://www.example.com/San-Salvador/help
我想重定向到
目标URL:http://www.example.com/help
模式为[基本URL] [城市名称] [目录],我想重新创建它,因为这是[base URL] [目录名]
您好我想创建一个规则,以消除该URL的第一个目录动态目标,看到的例子:htaccess的使用正则表达式
请求URL:http://www.example.com/San-Salvador/help
我想重定向到
目标URL:http://www.example.com/help
模式为[基本URL] [城市名称] [目录],我想重新创建它,因为这是[base URL] [目录名]
这里是一个应该工作的一般的正则表达式:
^(http:\/\/www\.example\.com\/)(.*\/)(.*)
每个术语在括号中是一组这将可能匹配的输入串。对于输入字符串:
http://www.example.com/San-Salvador/help
这里的匹配组:
http://www.example.com/
San-Salvador/
help
要保留是第一个和第三个,即团体http://www.example.com/
和help
给你http://www.example.com/help
你可以探索这个正则表达式here at Regex 101。
谢谢,现在我只需要弄清楚如何将变量放在htaccess上使用 –
@Jose如果你可以给我一些上下文,我会尝试给你你可以在WordPress中使用的代码。 –
以及我从一个自定义cms移动到wordpress,我不想松散所有的搜索引擎优化,因为我改变了网站的结构,旧的网站写在asp.net mvc上,他们做了代码中的网址处理。我试图在wordpress上复制它。在asp.net项目中,他们解析url并将其重定向到一个新的url,而不改变浏览器中的url显示。我希望这是有道理的 –
大多数情况下,您可以使用这条规则来移除城市。但是,您的代码需要处理重定向的URL请求后发生的情况。意思是什么时这个被称为http://www.example.com/help
RewriteEngine on
RewriteRule ^(?:[^/]+)/([^/]+)/?$ /$1 [L]
感谢这个解决方案的确能工作,但它改变了浏览器中的网址,有没有办法在地址栏上写这个http://www.example.com/San-Salvador/help,重定向在这里http://www.example.com/help,但不要更改地址栏上的地址 –
@JoseManuelOjeda你应该能够删除301重定向和完整的URL。查看我的更新。 –
这是如何解决你的? –
你能告诉我们一些示例代码,你期望的正则表达式运行? –
以及正则表达式不是主要问题,主要问题是使用htaccess编写规则 –
当您在浏览器中输入“http:// www.example.com/help”时会发生什么? – anubhava