我想将https://mineyourmind.de/forum重定向到https://mineyourmind.net/forum。
我可以用谷歌搜索的每条重写规则都不起作用,他们还重定向了主域(mineyourmind.de)。
我重定向 http://www。和 http:// 和 https:// 通过 apache 站点配置。
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.mineoyurmind\.de$ [NC]
RewriteRule (.*) https://mienoyurmind.de%{REQUEST_URI} [R=301,L]
论坛目录的 .htaccess 如下所示:
ErrorDocument 401 default
ErrorDocument 403 default
ErrorDocument 404 default
ErrorDocument 500 default
<IfModule mod_rewrite.c>
RewriteEngine On
# If you are having problems with the rewrite rules, remove the "#" from the
# line that begins "RewriteBase" below. You will also have to change the path
# of the rewrite to reflect the path to your XenForo installation.
#RewriteBase /xenforo
# This line may be needed to enable WebDAV editing with PHP as a CGI.
#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(data/|js/|styles/|install/|favicon\.ico|crossdomain\.xml|robots\.txt) - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
我应该将 mineyourmind.de/forum 的重写添加到 mineyourmind.net/forum 到 apache 站点配置或 htaccess 中,这应该是什么样子?
编辑:
我试过这样:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.mineyourmind\.de$ [NC]
RewriteRule (.*) https://mineyourmind.de%{REQUEST_URI} [R=301,L]
RewriteRule (/forum.*) https://mineyourmind.net/$1 [R=301,L]
像这样
RewriteEngine On
RewriteRule (/forum.*) https://mineyourmind.net/$1 [R=301,L]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.mineyourmind\.de$ [NC]
RewriteRule (.*) https://mineyourmind.de%{REQUEST_URI} [R=301,L]
两者都不起作用
这是重定向以“/forum”开头的每个请求的规则。
这意味着“当 URI 以“/forum”开头时,您应该捕获整个 URI,并将主机名替换为 mineyourmind.de。
$1
意思是“您刚刚匹配的内容”。编辑:
为确保您不会重定向名称中以“forum”开头的任何文件,您可能需要两条规则。
编辑结束
您是否应该在 .htaccess 或 apache 站点配置中执行此操作,取决于您的系统是如何设置的,即您存储其他特定于站点的文档的位置。一般来说,使用 .htaccess 时会有一点开销,因为 apache 会为每个新请求重新读取 .htaccess 文件,而站点配置只会在服务器重新启动时读取。但作为一项规则,我会尽可能将所有重写配置放在同一个文件中,以使其更易于管理。无论是 .htacces、virtualhost.conf 还是 httpd.conf,都取决于您。
您还应该阅读RewriteRule 文档,其中解释了在什么情况下您需要
/
在 RewriteRule 中包含初始值。