mod_rewrite的:重写特定的网址重写、网址、mod_rewrite

2023-09-02 00:55:14 作者:我很好,只是有点不温柔

我想重写一个特定的URL,我将展示一个例子,所以你明白我的意思。

首先,我目前的重写规则:

重写规则^ /([A-ZA-Z0-9 /  - ] +)?/ $的index.php [NC,L] 

现在我希望这个网址:

的HTTP:?//example.tld/foobar测试

改写为:

的HTTP://example.tld/foobar 
如何开启mod rewrite功能

注意:仅供 / foobar的测试?!例如。不是 / somethingelse?测试,也没有为 / foobar的?等等

在此先感谢!

编辑:我​​意识到我想从 / foobar的测试 301重定向到 / foobar的,而不是一个传统的改写。希望这是可能的。

解决方案

 的RewriteCond%{QUERY_STRING} ^测试$
重写规则^ / foobar的$ / foobar的[NC,R = 301,L]
 

I want to rewrite a specific URL, I'll show an example so you'll understand what I mean.

First, my current rewrite rule:

RewriteRule ^/?([a-zA-Z0-9/-]+)/?$ /index.php [NC,L]

Now I want this URL:

http://example.tld/foobar?test

Rewritten to:

http://example.tld/foobar

Note: only for /foobar?test! E.g. not for /somethingelse?test and also not for /foobar?blah!

Thanks in advance!

EDIT: I realized I want a 301 redirect from /foobar?test to /foobar, not a "traditional" rewrite. Hope that is possible.

解决方案

RewriteCond %{QUERY_STRING}    ^test$
RewriteRule ^/foobar$          /foobar      [NC,R=301,L]