0

我需要帮助来创建 apache 重写规则。我的要求如下。

源 URL:“http://localhost/directory/file_name_1”

目标网址:“http://localhost/file-name-1.html”

注意:上述要求不适用于静态 URL,但可以用任何其他词代替“目录”和“文件名_1”。

  • 应在新的重定向 URL 中删除“目录”字样
  • 下划线 (_) 应替换为连字符 (-)
  • “file-name-1”应以 .html 扩展名结尾。

我很感激你的回复。

4

2 回答 2

0

试试这个

RewriteEngine On
RewriteRule ^(/?.*/[^/]*?)_([^/]*?_[^/]*)$ $1-$2 [N]
RewriteRule ^(/?.*/[^/]*?)_([^/_]*)$ $1-$2 [R=301]
于 2012-11-02T06:33:38.193 回答
0

我使用了以下规则,现在它正在工作。

    RewriteEngine    On
    RewriteCond     %{REQUEST_URI}  !^/([A-Za-z0-9]+)/([A-Za-z0-9_]+)$
    RewriteRule     .*    - [S=3]
    RewriteRule     ^(/?.*/[^/]*?)_([^/]*?_[^/]*)$ $1-$2 [N]
    RewriteRule     ^(/?.*/[^/]*?)_([^/_]*)$ $1-$2.html  [NC]
    RewriteRule     ^/(.*)/(.*)$        $2               [R,L]
于 2012-11-05T07:01:32.423 回答