我想重定向https://mineyourmind.de/forum到https://mineyourmind.net/forum。
我可以穀歌搜尋到的每個重寫規則都不起作用,他們也重定向了主域(mineyourmind.de)。
我正在重定向 http:// www.以及 http:// 和 https:// 透過 apache siteconfig。
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]
兩者都不起作用
答案1
這是重定向每個以“/forum”開頭的請求的規則。
RewriteRule (/forum.*) https://mineyourmind.net/$1 [R=301,L]
這表示「當 URI 以「/forum」開頭時,您應該捕獲整個 URI,然後將主機名稱替換為mineyourmind.de。這$1
表示「您剛剛匹配的內容」。
編輯:
為了確保您不會重定向任何名稱中以“forum”開頭的文件,您可能需要兩個規則。
# To match /forum only:
RewriteRule ^/forum$ https://mineyourmind.net/$1 [R=301,L]
# To match any URI under the /forum directory, e.g. "/forum/" and "/forum/someotherfile.html"
RewriteRule ^/forum/(.*) https://mineyourmind.net/forum/$1 [R=301,L]
編輯結束
您是否應該在 .htaccess 或 apache 網站配置中執行此操作在一定程度上取決於您的系統設定方式,也就是您儲存其他網站特定文件的位置。一般來說,使用 .htaccess 時會產生輕微的開銷,因為 apache 將為每個新請求重新讀取 .htaccess 文件,而網站配置僅在伺服器重新啟動時才會讀取。但作為一項規則,我會盡可能將所有重寫配置放在同一個文件中,以使其更易於管理。無論是 .htacces、virtualhost.conf 或 httpd.conf,都取決於您。
你也應該閱讀重寫規則文檔,它解釋了在什麼情況下您需要/
在 RewriteRule 中包含首字母。