我不了解Apache服务器重定向上的行为

时间:2018-09-26 23:35:09

标签: apache .htaccess mod-rewrite routes url-routing

我所有的站点都位于AWS负载均衡器的后面。我想在Stack Overflow论坛上进行有关重写的相关问题,如果您想了解有关背景检查Wordpress permalink behavior

的更多信息,

我自己通过将重定向从Apache httpd.conf文件中移出解决了这个最初的问题。检查网站性能后,我不得不重新访问。

简而言之,问题是如果我使用以下命令在/etc/httpd/conf/httpd.conf中重定向:

RewriteEngine On
<IF "req('Host') != 'www.beta-test-three.com.au'">
    RewriteCond %{HTTP:X-Forwarded-Proto} =http
    RewriteRule .* https://www.%{HTTP:Host}%{REQUEST_URI} [L,R=301]
</IF>
<ELSE>
    RewriteCond %{HTTP:X-Forwarded-Proto} =http
    RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=301]
</ELSE>

我在sitename.com上的主页显示出来并且速度很快。不幸的是,由于某种原因,我的.htaccess文件中的URL重写被绕过了。以下规则可让我显示漂亮的网址,而不必在每个链接上都使用index.php,例如sitename.com?index.php/page-name而不是允许所有页面显示为sitename.com/page-name

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

现在,我真的希望通过httpd.conf进行重定向的原因是,我的网站加载时间从2.9s缩短到1.8s,节省了我超过一秒钟的时间!

我只是不明白为什么当我打开httpd.conf中的重定向时,我的.htaccess重写规则被停用?

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

此答案是将以下内容添加到httpd.conf中的VirtualHosts部分

<Directory "/var/www/html/site-name">
 AllowOverride All
 </Directory>

我在WordPress支持表格上做了更详细的回复 https://wordpress.org/support/topic/i-dont-understand-the-behaviour-on-apache-server-redirection/

感谢和问候。

相关问题