#1

rotzloeffler

Mitglied  (41 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://skiroller-store.com

Ich möchte gerne bei meinem Windows Server bleiben, auch wenn Siquando Pro Web/Shop diesen offiziell nicht unterstützt. Pro Web läuft dort, aber wegen fehlender MOD_REWRITE muss ich die Vanity URL Funktion deaktivieren. Nun möchte ich diese aber trotzdem nutzen.

Wo finden denn die Vanity Umleitungen statt? In der .htaccess konnte ich nichts finden. Im Windows IIS Server wird die .htaccess ja eh nicht angesprochen. Aber die Rewrite Befehle kann man ja auch in die web.config implementieren. Dort hab ich z.B. schon die Sitemap Erstellung erfolgreich portiert, als die Vanities URLs werden dort auch richtig erzeugt (wenn ich Vanity aktiviere). Es wird nur halt leider nicht auf die Vanity URLs umgeleitet und es erscheint als Fehlermeldung "Seite nicht gefunden".

Da meine Website nicht so umfangreich ist, könnte ich notfalls auch alle Seiten einzeln mit den entsprechenden Befehlen in der web.config umbenennen. Da ich Laie bin, würde ich mich da über ein Beispiel für so eine Umbennung über MOD_REWRITE oder noch besser für Windows Server freuen:

https://meine-seite.com/?ngt=w7e4109163212afd5f35476814458123   ->   https://meine-seite.com/beispiel.php


Danke und Grüße,

Tom

#2

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Das Modul mod_rewrite steht lediglich auf einem Apache-basierten Server zur Verfügung. Somit wirst Du die von Pro Web in Project Central angebotene Option "Vanity-URLs aktivieren" auf einem Windows IIS Server nicht nutzen können.

Ein diesbezüglich technischer Workaround ist mir persönlich nicht bekannt.


Viele Grüße,
Volker

Über mich  ·  Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#3

rotzloeffler

Mitglied  (41 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://skiroller-store.com

Ok, aber es gibt doch auch von Microsoft ein Rewrite Modul, mit dem man URLs unter IIS in der web.config (wie .htaccess in Apache) bearbeiten kann.

An welcher Stelle werden denn die Vanities umgeleitet (Ordner, htaccess?) ?

#4

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

#5

rotzloeffler

Mitglied  (41 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://skiroller-store.com

Dann wüsste ich aber nicht, an welcher Stelle. Hier ist mal meine aus dem Stammverzeichniss bei aktivierten Vanities (es gibt noch andere in anderen Verzeichnissen). Versteh auch nicht, dass die immer gleich ist, egal ob ich Vanities aktiviere oder nicht.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /_abc/
RewriteCond %{HTTP_HOST} !=skiroller-store.com
RewriteRule ^/?(.*) https://skiroller-store.com/_abc/$1 [R,L]
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} ^GET
RewriteCond %{REQUEST_URI} !^/_abc/assets/
RewriteCond %{REQUEST_URI} !^/_abc/classes/
RewriteCond %{REQUEST_URI} !^/_abc/images/
RewriteCond %{REQUEST_URI} !^/_abc/js/
RewriteCond %{REQUEST_URI} !^/_abc/rest/
RewriteCond %{REQUEST_URI} !^/_abc/store/
RewriteRule ^/?(.*) https://%{SERVER_NAME}/_abc/$1 [R,L]
RewriteRule ^sitemap\.xml$ /_abc/sitemap.xml.php [L]
RewriteRule ^robots\.txt$ /_abc/robots.txt.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule ^(.*)$ /_abc/index.php?ngq=/$1 [QSA,L]
</IfModule>

 

Da seh ich als Laie eigentlich nur die Umleitung auf eine Domain in den ersten Zeilen, dann die sitemap und robots Generierung und zum Schluss die Umleitung auf php, wenn html und php vorliegt.

#6

Volker W.

Administrator  (7794 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://www.warmers.de  ·   vwarmers  ·   vwarmers  ·   volkerw68

Schon die allererste Zeile

<IfModule mod_rewrite.c>

sorgt dafür, daß die .htaccess nur dann ausgeführt wird, wenn das Apache-Modul mod_rewrite gefunden wird. Sprich auf einem Windows IIS Server wird die .htaccess gar nicht erst angesprochen geschweige denn ausgeführt.


Viele Grüße,
Volker

Über mich  ·  Volker W. Musik & Sounds  ·  Facebook  ·  Twitter  ·  Instagram  ·  StayFriends  ·  LinkedIn  ·  XING

#7

rotzloeffler

Mitglied  (41 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://skiroller-store.com

Ich weiss, dass die htaccess unter Windows nicht angesprochen wird. Dafür ist die web.config zuständig.

Und dort habe ich die Rewrite Befehle portiert, soweit ich das als Laie kann.

Ich würde nur gern wissen, welche Zeilen in der htacces für die Vanity Umleitung zuständig sind.

Was ich weiss, dass unter Windows wohl die Query Strings anders behandelt werden, d.h. alles ab dem ? in der URL wird nicht einfach so als URL Name behandelt.

Das scheint unter Apache einfacher zu funktionieren. Ich vermute, dass die letzte Zeile in der htaccess für die Umleitung sorgt - in der web.config wäre das unter Rule Nr. 5.

Hier mal ein Auszug aus meiner web.config mit den portierten Rewrite Befehlen in der gleichen Reihenfolge wie in der htaccess.

Die letzte Zeile ist fehlerhaft, da Windows wohl alles nach dem ? nicht als URL Namen wertet.

Vielleicht hat ja jemand hier im Forum ein wenig Erfahrung mit ISS und den Rewrite Befehlen dazu.

 

<rewrite>
<!--This directive was not converted because it is not supported by IIS: RewriteBase /_dev/.-->
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^skiroller-store.com$" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://skiroller-store.com/_abc/{R:1}" />
</rule>
<rule name="Imported Rule 2" stopProcessing="true">
<match url="^(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="^on$" ignoreCase="false" negate="true" />
<add input="{THE_REQUEST}" pattern="^GET" ignoreCase="false" />
<add input="{URL}" pattern="^/_abc/assets/" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/_abc/classes/" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/_abc/images/" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/_abc/js/" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/_abc/rest/" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/_abc/store/" ignoreCase="false" negate="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{SERVER_NAME}/_abc/{R:1}" />
</rule>
<rule name="Imported Rule 3" stopProcessing="true">
<match url="^sitemap\.xml$" ignoreCase="false" />
<action type="Rewrite" url="/_abc/sitemap.xml.php" />
</rule>
<rule name="Imported Rule 4" stopProcessing="true">
<match url="^robots\.txt$" ignoreCase="false" />
<action type="Rewrite" url="/_abc/robots.txt.php" />
</rule>
<rule name="Imported Rule 5" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}/index.html" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}/index.php" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/_abc/index.php?ngq=/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>

#8

rotzloeffler

Mitglied  (41 Punkte)  ·   männlich  ·   Deutschland  ·   Nachricht senden
 https://skiroller-store.com

So. Für alle User, die Siquando Pro auf einen Windows Server mit IIS und Vanity-URL betreiben wollen, habe ich nun eine Lösung gefunden.

Das Programm nennt sich Helicon Ape. Das auf den Server installieren. Das Programm erkennt auch unter IIS die htaccess Dateien und setzt diese um.

Pro Web läuft nun bei mir mit Vanity-URL.

434 Aufrufe | 8 Beiträge