如何重写以删除URL部分

时间:2018-06-17 07:30:02

标签: regex wordpress mod-rewrite url-rewriting

我有一个WordPress网站。我需要删除数字的最后一部分。带连字符图标。厚厚的一部分。实施例;

here -12412 /

https://subdomain.mysite.net/5-constant-3-constant2 -21 /

我在single.php文件中使用了代码,但没有使用。

let search = searchCityName.rx.text
        .filter { ($0 ?? "").count > 0 }
        .flatMapLatest { text in
            return ApiController.shared.currentWeather(city: text ?? "Error")
                .catchErrorJustReturn(ApiController.Weather.empty)
        }
        .observeOn(MainScheduler.instance)
    search.map { "\($0.temperature)° C" }
        .bind(to: tempLabel.rx.text)
        .disposed(by: bag)

1 个答案:

答案 0 :(得分:0)

我认为你正在追随这样的道路:

function custom_rewrite_basic() {
  add_rewrite_rule('(\d-[a-z]+-\d-[a-z]+\d)-\d+', '$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_basic');

据我了解WordPress rewrite API,您不必指定整个URI,包括域部分。

正则表达式本身非常简单:

(\d-[a-z]+-\d-[a-z]+\d)-\d+

从您的示例正则表达式中猜测,您可能需要强制使用5个以上的字母:

(\d-[a-z]{5,}-\d-[a-z]{5,}\d)-\d+

上面的规则捕获了该部分并删除了其余部分:Demo(包括域部分)。

  

重要提示:不要忘记刷新并重新生成重写规则   修改规则后的数据库。从WordPress管理屏幕,   选择设置 - >永久链接,只需单击“保存更改”即可   变化。请参阅docs

你应该明确地读到这个:https://wordpress.stackexchange.com/a/5478