如何使用htaccess重定向URL通配符

时间:2015-07-21 08:47:08

标签: .htaccess

我的网站不久前被黑了,很多网址都是以下列格式创建的:

http://example.com/prematurely.asp?skin=pspfsffdproblems=nq....

无论如何,我可以将所有这些基于prematurely.asp的通配符重定向到单个页面吗?例如:

http://example.com/newpage

.htaccess文件如下:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^nowcosmetic\.co.uk$ [NC]
RewriteRule ^(.*)$ http://nowcosmetic.co.uk/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/questions-and-answers\.html$
RewriteRule .* http://nowcosmetic.co.uk/botox.html [R=301,L]
RewriteRule ^prematurely\.asp /botox? [R=301,L]'

2 个答案:

答案 0 :(得分:0)

您可以通过添加重写规则来实现此目的

RewriteEngine on
RewriteRule ^prematurely/(.*)   /newpage [R=301,L]

答案 1 :(得分:0)

正如评论中所提到的,如果这些网址是被黑网站现已解决的结果,那么您最好(SEO智能)服务404(或410 Gone)而不是重定向。

但是,如果您仍想重定向...

  

将所有这些基于 prematurely.asp 的通配符网址重定向到一个页面

在.htaccess文件的顶部(在您的文档根目录中):

Link to alternate location

请注意,RewriteEngine on RewriteRule ^prematurely\.asp /newpage? [R=301,L] 只应在您的文件中显示一次(位于顶部)。

这只是匹配“prematurely.asp”(忽略查询字符串 - 根据您的请求)。 RewriteEngine On替换上的尾随?会从重写的网址中删除原始查询字符串。