以下代码将许多请求重定向到https://www.example.com,但是请求example.com/about重定向到https://www.example.com。如何使其重定向到请求的页面(https://www.example.com/about)?
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
RewriteCond %{HTTPS} !^on$
RewriteRule (.*) https://www.example.com/$1 [R,L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
<Files "*.txt">
Require all denied
</Files>
</IfModule>
答案 0 :(得分:0)
您似乎想将所有不可用的版本重定向到主页,而不是相关页面或404页面。
如果是这样,那么我必须说,最好的做法是让404页面而不是重定向到主页。
否则,您可以根据需要使用以下代码,只需在代码中添加以下行并删除其他重定向。
ErrorDocument 404 http://domainname.com