用星号的url htaccess重写

时间:2011-07-05 09:14:39

标签: .htaccess mod-rewrite asterisk

有些......好人......已经建立了一个到我们网站的传入链接,如下所示: http://www.site.com/*our*-*services*/

我想重定向它,因此它指向: http://www.site.com/our-services/

我们是一个Wordpress网站,所以我们的root htaccess文件中已经有一些重写内容了。简单地从URL中删除星号的规则就行了,但是我无法弄清楚如何做到这一点,所以我尝试了以下内容 - 松散地基于复制现有的Wordpress规则 - 这是无效的:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} (/\*our\*-\*services\*/)
RewriteRule . /our-services/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

看起来这个规则被忽略了 - 错误的URL当前会将您重定向到我们的默认Wordpress 404页面。显然,我失败了:我应该把它作为重写条件?

2 个答案:

答案 0 :(得分:1)

我会删除您的第一个RewriteCond,然后只使用此规则:

RewriteRule \*our\*-\*services\*\/ /our-services/ [L]

答案 1 :(得分:1)

让他们改变传入链接。

星号在网址中保留,因此在这种情况下不应使用它:

W3 Url Recommendation

Allowing asterisk in URL