在最后丢失/时,.htaccess重定向无法正常工作

时间:2016-08-06 12:59:07

标签: wordpress apache .htaccess redirect

我安装了 WPML Wordpress 网站。我最近做了两件事:

这样做是为了改善SEO。然而,当我使用以下工作时没有太多问题:

 # BEGIN HTTPS
 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{SERVER_PORT} ^80$
 #RewriteCond %{HTTPS} !^on$
 #RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
 RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
 </IfModule>
 # END HTTPS
 # BEGIN WordPress
 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
 </IfModule>

 # END WordPress

apache.conf 文件ServerName domain.xyz, ServerAlias domain.pl www.domain.pl中依此类推。我的大部分旧博客帖子都有不同形式的互联网问题。例如:

似乎最后 / 正在发挥巨大作用。

我计划将所有重定向添加到直接形式1到1到新域,但由于它部分工作,部分不是我有点丢失......而且我不确定如何正确翻译它们。

编辑:

我尝试了多个选项,即使是一个可能会重写所有链接以/结束的选项仍然会失败。

# BEGIN HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#RewriteCond %{SERVER_PORT} ^80$
#RewriteCond %{HTTPS} !^on$
#RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
#RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} !^on$
#RewriteRule (.*) https://evotec.xyz/$1 [R=301,L]
#RewriteRule (.*) https://%{SERVER_NAME%}/$1 [R=301,L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_URI} !(.*)/$
#RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpg|png|jpeg|css|js)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1/ [L,R=301]


</IfModule>
# END HTTPS

另一个更新:

所以它并非完全不适用于所有斜杠与非斜杠。它更多的是关于某种类型的翻译,如果它指向旧域,则不会发生。

我尝试过使用Redirect Checker查看它是如何工作的(正确的例子),但我无法从中得到任何意义。

  

http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1 301   永久移动   https://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1/   301永久移动   https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1/   200 OK

  

http://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1/ 301   永久移动   https://evotec.xyz/hub/scripts/office365-addbulkemailaddressses-ps1/   200 OK

  

https://evotec.pl/hub/scripts/office365-addbulkemailaddressses-ps1   找不到404

我尝试了更多的选择。虽然RedirectChecker似乎显示了一件事......浏览器的行为有点不同,并且不适用于第一个条目,无论如何直接导致404

编辑:

如果我只留下“Wordpress”数据如下:

只有使用正确/新域名才能正常工作,然后才能正常运行:

我想如果我不能重定向它,我会保持原样,只是放弃。

1 个答案:

答案 0 :(得分:2)

我实际上通过使用Word重定向高级插件来解决它。

enter image description here

它可以在没有/的情况下重定向断开的链接。在这种情况下,我已经手动完成了它,但我正在努力以更全球化的方式使用Regex。只需找到合适的一个。

enter image description here