после переустановки из-за hd cra sh мои перенаправления перестали работать. Почему? Единственное отличие, которое я вижу, это то, что каталог root изменился с var / www to var / www/html.. Я попытался указать / var / www as root вместе с / var / www / для каталога. Мой по умолчанию conf имеет те же директивы, если я выключаю ssl, я получаю ту же проблему.
Я использую ssl, и мой 000-default-le-ssl.conf содержит
ServerAdmin webmaster@localhost
DocumentRoot / var/www/html
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.yellowrockonline.com.au [OR]
RewriteCond %{SERVER_NAME} =yellowrockonline.com.au
RewriteRule ^(wiki)$ https://www.yellowrockonline.com.au/cgi-bin/mywikicgi
RewriteRule ^(view/.*)$ http://localhost:8080/$1 [P,L]
RewriteRule ^(edit/.*)$ http://localhost:8080/$1 [P,L]
RewriteRule ^(save/.*)$ http://localhost:8080/$1 [P,L]
</Directory>
# Redirect "/view/suggestion" http://localhost:8080/view/suggestion
# works but returns localhost:8080/ to the browser
The cgi program starts from a link to www.domainname/cgi-bin/programname and returns domainma,e/view/suggestion to the browser along with the error
Запрошенный URL-адрес не найден на этом сервере. Сервер Apache / 2.4.38 (Debian) на www.yellowrockonline.com.au Порт 443
Ссылка на программу cgi https://www.yellowrockonline.com.au/cgi-bin/mywikicgi
Код go, который доставляет измененный URL
func hello(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "/view/suggestion", http.StatusFound)
// added to do redirect
fmt.Fprintf(w, "Hello from Go! Redirecting to suggestions")
}
func main() {
http.HandleFunc("/view/", makeHandler(viewHandler))
http.HandleFunc("/edit/", makeHandler(editHandler))
http.HandleFunc("/save/", makeHandler(saveHandler))
http.HandleFunc("/", hello)
cgi.Serve(nil)
log.Fatal(http.ListenAndServe(":8080", nil))
}