Archiv verlassen und diese Seite im Standarddesign anzeigen : Mod_rewrite on Nginx
Hey alle,
Ich suche im Moment eine gute Anleitung oder jemanden der mir durch diesen Task hilft. Ich habe leider mit RegEx nicht wirklich erfahrung
doch bei Apache gab es immerhin bessere Tut´s dafür. Bei Nginx stoße ich da leider auf sehr viel weniger Informationen und benötige daher
etwas Hilfe.
Ich möchte nichts großartiges, lediglich eine Rewrite wie folgt.
Request URL = http://example.com/this-is-an-page-name
soll weitergeleitet werden an http://example.com/index.php?site=this-is-an-page-name
fürs erste würde das vollkommen reichen.
Lg Lex
orti1980
04.10.2013, 22:20
hier hast du einpaar beispiele
#<IfModule mod_security.c>
# secfilterengine off
# secfilterscanPOST off
#</IfModule>
Options All -Indexes
FileETag MTime Size
Options +FollowSymlinks
RewriteEngine on
<FilesMatch "\.(db|inc|tmpl|h|ihtml|sql|ini|configuration|config|class|bin|spd|theme|module|cfg|cpl|tmp|log|err|inc.php|class.php)$">
order allow,deny
satisfy all
</FilesMatch>
########## Begin - Rewrite rules to block out some common exploits
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
#RewriteRule ^(.*)$ index.php [L]
RewriteRule ^([^.]*)/?$ index.php [L]
#
########## End - Rewrite rules to block out some common exploits
RewriteEngine on
#
#
#
#URL Rewriting for Videos
RewriteRule ^videos/(.*)/(.*)/(.*)/(.*)/(.*) videos.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 [L]
RewriteRule ^videos/([0-9]+) videos.php?page=$1 [L]
RewriteRule ^videos/?$ videos.php?%{QUERY_STRING} [L]
RewriteRule ^video/(.*)/(.*) watch_video.php?v=$1&%{QUERY_STRING} [L]
#Alternate watch video links
RewriteRule ^(.*)\_v([0-9]+) watch_video.php?v=$2&%{QUERY_STRING} [L]
RewriteRule ^video/([0-9]+)_(.*) watch_video.php?v=$1&%{QUERY_STRING} [L]
#
#Users, Channel & Management
#
RewriteRule ^channels/(.*)/(.*)/(.*)/(.*)/(.*) channels.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 [L]
RewriteRule ^channels/([0-9]+) channels.php?page=$1 [L]
RewriteRule ^channels/?$ channels.php [L]
RewriteRule ^members/?$ channels.php [nc]
RewriteRule ^users/?$ channels.php [nc]
RewriteRule ^user/(.*) view_channel.php?user=$1 [nc]
RewriteRule ^channel/(.*) view_channel.php?user=$1 [nc]
RewriteRule ^my_account myaccount.php [nc]
#Pages
RewriteRule ^page/([0-9]+)/(.*) view_page.php?pid=$1 [nc]
#
#Miscellenous
RewriteRule ^search/result/?$ search_result.php [nc]
RewriteRule ^upload/?$ upload.php [nc]
RewriteRule ^contact/?$ contact.php [nc]
RewriteRule ^categories/?$ categories.php [nc]
#Group Section
RewriteRule ^group/([a-zA-Z0-9].+) view_group.php?url=$1&%{QUERY_STRING} [L]
RewriteRule ^view_topic/([a-zA-Z0-9].+)_tid_([0-9]+) view_topic.php?tid=$2&%{QUERY_STRING} [L]
RewriteRule ^groups/(.*)/(.*)/(.*)/(.*)/(.*) groups.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 [L]
RewriteRule ^groups/([0-9]+) groups.php?page=$1 [L]
RewriteRule ^groups/?$ groups.php [L]
RewriteRule ^create_group create_group.php [L]
#Collection Section
RewriteRule ^collections/(.*)/(.*)/(.*)/(.*)/(.*) collections.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 [L]
RewriteRule ^collections/([0-9]+) collections.php?page=$1 [L]
RewriteRule ^collections/?$ collections.php [L]
RewriteRule ^photos/(.*)/(.*)/(.*)/(.*)/(.*) photos.php?cat=$1&sort=$3&time=$4&page=$5&seo_cat_name=$2 [L]
RewriteRule ^photos/([0-9]+) photos.php?page=$1 [L]
RewriteRule ^photos/?$ photos.php [L]
RewriteRule ^collection/(.*)/(.*)/(.*) view_collection.php?cid=$1&type=$2&%{QUERY_STRING} [L]
#Photo Section
RewriteRule ^item/(.*)/(.*)/(.*)/(.*) view_item.php?item=$3&type=$1&collection=$2 [L]
RewriteRule ^photo_upload/(.*) photo_upload.php?collection=$1 [L]
RewriteRule ^photo_upload/?$ photo_upload.php [L]
#
RewriteRule ^sitemap.xml$ sitemap.php
RewriteRule ^signup/?$ signup.php
#Error Pages
ErrorDocument 404 /404.php
ErrorDocument 403 /403.php
########## End - Rewrite rules For SEO urls ######################
RewriteRule ^rss$ rss.php [nc]
RewriteRule ^rss/([a-zA-Z0-9].+)$ rss.php?mode=$1&%{QUERY_STRING} [nc]
########## End - Rewrite rules For SEO urls ######################
RewriteRule ^([a-zA-Z0-9-]+)/?$ view_channel.php?uid=$1&seo_diret=yes [NS]
hier hast du einpaar beispiele
Das ist für Apache
Versuch mal sowas:
rewrite "/([\w-]*)$" /index.php?site=$1 last;
Hi Orti1980,
Vielen Dank, auch wenn es scheinbar nicht für Nginx gedacht ist.
@Ike, Danke, ich werde das so schnell als möglich testen :)
Lg Lex
Flori12345
05.10.2013, 09:32
oder so vieleicht weiß net ob dir das hilft
RewriteEngine On
RewriteCond %{HTTP_HOST} ^google.de$ [NC]
RewriteRule ^(.*)$ http://www.google.de [R=301,L]
Miata3de
05.10.2013, 11:06
Hab selber leider keine Erfahrung mit nginx, da ich den lighttpd nutze..
Aber ich habe hier mal nen link, vielleicht hilft dir das.
HttpRewriteModule (http://wiki.nginx.org/HttpRewriteModule)
LG
Miata3de
tantetoni2
05.10.2013, 12:26
lex einfach mal hier schauen
HttpRewriteModule (http://wiki.nginx.org/HttpRewriteModule)
Converting rewrite rules (http://nginx.org/en/docs/http/converting_rewrite_rules.html)
Hi,
Ja die 2 Links hatte ich mit Google auch gefunden, doch wie gesagt, mit RegEx hab ichs nicht so, und es sind leider keine Beispiele für meinen Fall vorhanden die ich anpassen könnte.
Ich hoffe ich komme heute dazu die gepostete Möglichkeit von IKE zu testen, und hoffe mal es klappt alles :)
Lg Lex
Chaosman
05.10.2013, 12:43
Villeicht sowas?
RewriteEngine on
#
# die Datei liegt im Verzeichnis /abc/def
# erreichbar ist dieses Verzeichnis aber über /xyz
# bspw. weil in der httpd.conf folgendes gesetzt wurde:
# Alias /xyz /abc/def
#
RewriteBase /xyz RewriteRule ^(.*)\.htm$ $1.html # macht alle *.html auch als *.htm erreichbar
RewriteEngine on
RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1Standard-Domain definieren:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
schau mal hier
Mod_Rewrite (http://suchmaschinentricks.at/tipps-tricks/mod_rewrite.html)
tantetoni2
05.10.2013, 13:08
ich weiss nicht ob das irgendjemand checkt, aber es geht um nginx und nicht um apache wenn ich das richtig gelesen hab
Jo, geht um Nginx, bei Apache gibts genug Anleitungen.
Lg Lex
orti1980
05.10.2013, 14:43
Teste das
rewrite ^/site$ /index.php?site=$1 last;
oder
rewrite ^(.*)$ /index.php?site=$1 last;
</div>
vBulletin® v3.8.9, Copyright ©2000-2024, vBulletin Solutions, Inc.