我需要帮助来创建 apache 重写规则。我的要求如下。
源 URL:“http://localhost/directory/file_name_1”
目标网址:“http://localhost/file-name-1.html”
注意:上述要求不适用于静态 URL,但可以用任何其他词代替“目录”和“文件名_1”。
- 应在新的重定向 URL 中删除“目录”字样
- 下划线 (_) 应替换为连字符 (-)
- “file-name-1”应以 .html 扩展名结尾。
我很感激你的回复。
我需要帮助来创建 apache 重写规则。我的要求如下。
源 URL:“http://localhost/directory/file_name_1”
目标网址:“http://localhost/file-name-1.html”
注意:上述要求不适用于静态 URL,但可以用任何其他词代替“目录”和“文件名_1”。
我很感激你的回复。
试试这个
RewriteEngine On
RewriteRule ^(/?.*/[^/]*?)_([^/]*?_[^/]*)$ $1-$2 [N]
RewriteRule ^(/?.*/[^/]*?)_([^/_]*)$ $1-$2 [R=301]
我使用了以下规则,现在它正在工作。
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]