Я не сохраняю interface
s - самое важное в языке: он чаще всего используется для наследования класса. Но в любом случае они важны! Например (это Java
код, но он может просто адаптироваться к C#
или многим другим языкам):
interface Convertable<T> {
T convert();
}
public class NumerableText implements Convertable<Integer> {
private String text = "";
public NumerableText() { }
public NumerableText(String text) {
this.text = text;
}
public String getText() {
return this.text;
}
public void setText(String text) {
this.text = text;
}
public Integer convert() {
return this.text.hashCode();
}
}
public class NumerableTextArray implements Convertable<Integer> {
private String[] textArray = "";
public NumerableTextArray() { }
public NumerableTextArray(String[] textArray) {
this.textArray = textArray;
}
public String[] getTextArray() {
return this.textArray;
}
public void setTextArray(String[] text) {
this.textArray = textArray;
}
public Integer convert() {
Integer value = 0;
for (String text : textArray)
value += text.hashCode();
return value;
}
}
public class Foo {
public static void main() {
Convertable<Integer> num1 = new NumerableText("hello");
Convertable<Integer> num2 = new NumerableTextArray(new String[] { "test n°1", "test n°2" });
System.out.println(String.valueOf(num1.convert()));
System.out.println(String.valueOf(num2.convert()));
//Here are you two numbers generated from two classes of different type, but both with the method convert(), which allows you to get that number.
}
}
После обсуждения с поставщиком услуг в соответствии с их инструкцией я использовал следующий код, который отлично работает (согласно их информации для Virtual Private Server - особый случай)
Спасибо всем, кто принимает меры для решения моей проблемы проблема
RewriteEngine on
RewriteOptions inherit
RewriteCond %{HTTP_HOST} ^olddomain\.tld$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.tld$
RewriteRule ^(.*)$ "http\:\/\/www\.newdomain\.tld\/$1" [R=301,L]
Тогда вы можете использовать эту директиву RewriteRule
:
RewriteRule ^public_html/(.*)$ http://www.newdomain.com/$1 [R=301,L]
Это будет только backreference регулярное выражение (.*)
, исключая "public_html /" .
Приятно видеть полные директивы, которые решили вашу проблему. Во всяком случае, вы можете улучшить и оптимизировать их, заменив эти 3 строки:
RewriteCond %{HTTP_HOST} ^olddomain\.tld$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.tld$
RewriteRule ^(.*)$ "http\:\/\/www\.newdomain\.tld\/$1" [R=301,L]
С этими двумя строками:
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.tld$
RewriteRule ^(.*)$ http://www.newdomain.tld/$1 [R=301,L]
Это идеальный способ написать их, в моем вид ..
Просто укажите свой новый домен на корневую папку сайта, а не корневую папку вашего сервера.
RewriteOptions inherit
. Это необычно. Это означает, что они используют mod_rewrite в .htaccess дальше по пути файловой системы, чтобы казаться «правильным». корень документа (директивы mod_rewrite обычно не наследуются). (TBH, когда вы видитеRewriteRule
замены, отформатированные таким образом, что вы думаете, действительно ли они знают, что они делают.) – MrWhite 8 August 2015 в 15:05