0

总之,我们目前的 htaccess 文件存在问题。301 重定向将通过新描述的 URL,但此外,新 URL 后跟一个?和旧网址。我们怎样才能摆脱 ? 和以前的 URL,因此它们不会显示为结尾。

我们在网上找到的有关此问题的示例似乎都不起作用。任何人都可以提供一些建议吗?我们可以使用 RewriteRule 来阻止这种情况发生吗?

这是htaccess文件的摘要

# begin redirects
# There are redirects of a number of old pages. Here's a sample of them.

redirect 301 /index.html http://www.petersommer.com/
redirect 301 /escorted-archaeological-tours/turkey/western-lycia-cruise-july/ http://www.petersommer.com/escorted-archaeological-tours/

RewriteRule ^gallery/main.php$  http://www.petersommer.com/gallery/ [R=301,L]
RewriteRule ^pdf/how_to_book.pdf$  http://www.petersommer.com/pdf/how-to-book-holiday.pdf [R=301,L]

# end redirects

<IfModule mod_rewrite.c>
    RewriteEngine On

    Options +FollowSymLinks
    DirectoryIndex index.php
    RewriteEngine On

    RewriteCond $1 !^(images|system|themes|pdf|favicon\.ico|robots\.txt|index\.php) [NC]
    RewriteRule ^\.htaccess$ - [F]

    RewriteRule ^favicon\.ico - [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

DirectoryIndex index.php

不幸的是,我不确定什么不起作用或需要做些什么来修复它。我认为它必须是重写规则中的某些内容,或者我们需要添加一些重写规则来修复它。

不幸的是,所有重定向都添加了一个?和旧 URL 到新重定向 URL 的末尾。例如:

to的重定向 301 通过 to/tours2006.html而 不仅仅是/escorted-archaeological-tours//escorted-archaeological-tours/?/tours2006.html/escorted-archaeological-tours/

所有人都遵循相同的模式 - 不幸的是。

如果您能看到重写规则中的任何故障,或者能确定我们需要添加的内容,我将不胜感激。

4

1 回答 1

0

您可能已经注意到,这两个重定向表示为RewriteRule按预期工作,而这两个redirect指令附加旧路径。

我相信会发生

  • mod_rewrite 启动,重定向gallery/main.phppdf/how_to_book.pdf如有必要,然后重写所有其他 URL/index.php?/the_requested_path并结束(L 标志)。注意查询参数

  • mod_alias 轮到它,看到它必须重定向 /index.html 例如,它按照指示重定向。但是,默认情况下,Apache 使用附加的查询参数进行重定向,在本例中为 ?/index.html

你能做什么

  • 附加一个?在重定向指令的末尾(适用于 RewriteRule,未在重定向上测试)

    redirect 301 /index.html http://www.petersommer.com/?
    
  • 在重写规则中转换您的重定向指令

    RewriteRule ^index.html$ http://www.petersommer.com/ [R=301,L]
    RewriteRule ^escorted-archaeological-tours/turkey/western-lycia-cruise-july/?$ http://www.petersommer.com/escorted-archaeological-tours/ [R=301,L]
    
于 2012-04-07T12:44:59.713 回答