重定向 .htacess www 到非 www http 到 https

问题描述 投票:0回答:2

我在 .htacess 文件中遇到重定向问题。 我使用的是非 www 和 https

示例页面:https://example.com/example 就可以了。

但是,如果输入 www https://www.example.com/example 则页面会重定向到 https://example.com/index.php

使用 http http://www.example.com/examplehttp://example.com/example 得到相同的结果 结果始终是https://example.com/index.php

是否可以将所有这些选项重定向到https://example.com/example

我在这里没有找到任何解决方案。

谢谢你

我的.htacess

   
## No directory listings
<IfModule mod_autoindex.c>
  IndexIgnore *
</IfModule>

## Suppress mime type detection in browsers for unknown types
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
</IfModule>

## Can be commented out if causes errors, see notes above.
Options +FollowSymlinks
Options -Indexes

## Disable inline JavaScript when directly opening SVG files or embedding them with the object-tag
<FilesMatch "\.svg$">
  <IfModule mod_headers.c>
    Header always set Content-Security-Policy "script-src 'none'"
  </IfModule>
</FilesMatch>

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site then comment out the operations listed
# below by adding a # to the beginning of the line.
# This attempts to block the most common type of exploit `attempts` on Joomla!
#
# Block any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root home page
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment the following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

# Canonical HTTPS/non-WWW
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.rs [NC]
RewriteRule (.*) https://example.com/$1 [L,R=301]
</IfModule>

.htaccess mod-rewrite
2个回答
0
投票

好吧,我认为您可以通过编辑 htaccess 文件来实现所有这些,但我建议您检查根目录中的configuration.php 文件,并为 live_site 保留一个空值。很多时候,当用户位于 www 和非 www 网址上时,我必须解决页面上的不同行为。将 livesite 值留空解决了我的问题。


0
投票

本教程将向您展示如何将整个 Joomla 网站重定向到非 www 或 www。 打开 .htaccess 文件并找到以下行: 重写引擎开启 要将非 www 重定向到 www,请在其下方添加以下代码: RewriteCond %{HTTP_HOST} ^yourdomain.com [NC] 重写规则 ^(.)$ https://www.yourdomain.com/$1 [L,R=301] 要将 www 重定向到非 www,请在 RewriteEngine On 之后添加以下代码: RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC] 重写规则 ^(.)$ https://yourdomain.com/$1 [L,R=301] 要将您的 Joomla 网站配置为使用非 WWW 版本,您需要在 Joomla 管理面板中调整网站设置。请按照以下步骤操作:

登录您的 Joomla 管理面板。 导航到“全局配置”部分。 在“站点”选项卡中,找到“站点设置”字段。 找到“规范 URL”选项并确保将其设置为非 WWW 版本(例如“example.com”)。 保存更改。 完成这些调整后,您的 Joomla 网站将无需 WWW 前缀即可访问。需要注意的是,现有的 URL 可能需要重定向到非 WWW 版本,以确保无缝的用户体验并避免重复的内容问题。这可以通过服务器配置或利用专为 URL 重定向设计的 Joomla 扩展来完成。

使用 WWW 配置 Joomla

如果您更喜欢为 Joomla 网站使用 WWW 版本,则设置过程与非 WWW 版本类似。这是您需要做的:

访问您的 Joomla 管理面板。 继续“全局配置”部分。 在“站点”选项卡中,找到“站点设置”字段。 将“规范 URL”选项设置为 WWW 版本(例如“www.example.com”)。 保存更改。

© www.soinside.com 2019 - 2024. All rights reserved.