我有这样的网址:
我方/ viewparty / 243方式 - 柏林 - 2013.html
其中url的可变部分是:
243方式 - 柏林 - 2013.html
我得知一个网址:
事件/方式 - 柏林 - 2013.html
如何使用apache重写规则执行此操作?我已设法删除“my-party / viewparty”,但我无法删除变量链接的部分。 非常感谢你
的Alessandro
答案 0 :(得分:1)
以下将以格式映射任何URI:
my-party/viewparty/<digits>-<rest-of-file-name>.html
到
/events/<rest-of-file-name>.html
RewriteEngine On
RewriteCond %{REQUEST_URI} my-party/viewparty/\d+-([^\.]*\.html)$
RewriteRule .* /events/%1 [L]
它的工作方式是,它捕获(括号内的内容)请求uri的最后一部分(由美元符号表示),以.html
结尾,前面是{{1}其中my-party/viewparty/\d+-
表示一串数字,最小长度为一位数。然后,它会将此捕获的模式(由\d+
表示)附加到%1
中的/events/
。
如果要将(301 Moved Permanently)重定向到新URI,请使用:
RewriteRule
而且,如果RewriteEngine On
RewriteCond %{REQUEST_URI} my-party/viewparty/\d+-([^\.]*\.html)$
RewriteRule .* /events/%1 [R=301,L]
部分不是变量,那么您可以简单地将party-in-berlin-2013
替换为:
RewriteCond