【发布时间】:2023-04-09 14:04:01
【问题描述】:
我需要使用 .htaccess 重写 URL,以将所有用户从旧站点地图重定向到新 URL。旧网址如下所示:
http://server.linux.example.com/a/v/c/document_title1.php
http://server.linux.example.com/jp/x/1/o/document_title32.php
http://server.linux.example.com/kr/a/a/2/document_title12343.php
http://server.linux.example.com/cn/6/z/z/document_title124.php
我需要保留第一个目录,然后删除所有子目录,包括斜杠和字符(/ 之间的字母和数字),这样新的 URL 将如下所示:
http://server.linux.example.com/document_title1.php
http://server.linux.example.com/jp/document_title32.php
http://server.linux.example.com/kr/document_title12343.php
http://server.linux.example.com/cn/document_title124.php
这是我到目前为止使用 stackoverflow.com 的帮助所做的。
(?<=http://server\.linux\.example\.com/)(jp/|kr/|cn/)?.*(?=\.php)
regex101.com 显示这是一个有效的正则表达式,但我在 .htaccess 中实现它时遇到了问题,因为我收到了 500 个错误。
ReWriteRule (?<=http://server\.linux\.example\.com/)(jp/|kr/|cn/)?.*(?=\.php)
我做错了什么?
【问题讨论】:
标签: regex apache .htaccess mod-rewrite url-rewriting