关于重写正则表达式的建议

时间:2012-11-28 23:19:25

标签: regex .htaccess mod-rewrite url-rewriting

我很感激.htaccess文件中的URL重写有一些帮助。

我有这个结构

http://foo.com/news/?start=24
http://foo.com/work/?start=24

我希望能够重写.com之后的内容,如果它是'新闻'或'工作'并删除问号之后的任何内容。

实施例

http://foo.com/news/?start=24 => http://foo.com/news
http://foo.com/work/?start=24 => http://foo.com/work

1 个答案:

答案 0 :(得分:0)

如果您想重定向此类路径中的任何其他文件,例如work/something?params,请使用

RewriteEngine On
RewriteCond %{QUERY_STRING} [^?]
RewriteCond %{HTTP_HOST}:%{SERVER_PORT}s ^(.*):(443(s)|\d+s)$
RewriteRule ^/?(news|work)(/|$) http%3://%1/$1? [R=301,L]

或者如果您不想在newswork之后添加额外的可选文件,请选择:

RewriteEngine On
RewriteCond %{QUERY_STRING} [^?]
RewriteCond %{HTTP_HOST}:%{SERVER_PORT}s ^(.*):(443(s)|\d+s)$
RewriteRule ^/?(news|work)/?$ http%3://%1/$1? [R=301,L]