Skocz do zawartości

Regułki mod rewrite


Magda.

Rekomendowane odpowiedzi

Witam serdecznie.

Mam problem z poprawnym działaniem skryptu na serwerze.

Znajomy udostępnił mi miejsce na serwerze , ale nie działają tak zwane przyjazne linki - są one potrzebne do poprawnego wyświetlania strony.

Jak się dowiedziałam , powodem jest brak jakichś regułek dla tego serwera.

Z tego co wyczytałam to trzeba przepisać plik htaccess , pod serwer lightpd - i tu kompletnie nie wiem jak się z tym uporać.

Bardzo proszę o pomoc bo już cały wekeend się z tym męcze i z miejsca ruszyć nie mogę :)

poniżej zawartość pliku htaccess skryptu

# URL Rewrite
<IfModule mod_rewrite.c>
RewriteEngine On

#
#  Full path to your site
#
RewriteBase /

#
#  Rules
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?do=/$1

# Image Access Protection
# RewriteRule ^file/pic/photo/(.*)\.(.*)$ static/image.php?file=$1&ext=$2
</IfModule>

# Modify Headers
<IfModule mod_headers.c>
# Cache files
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
	Header set Cache-Control "public"
	Header set Expires "Mon, 20 Apr 2015 20:00:00 GMT"
	Header unset Last-Modified
</FilesMatch>

# Cache JavaScript & CSS
<FilesMatch "\.(js|css)$">
	Header set Cache-Control "public"
	Header set Expires "Mon, 20 Apr 2015 20:00:00 GMT"
	Header unset Last-Modified
</FilesMatch>
</IfModule>

# DEFLATE
<IfModule mod_deflate.c>
<FilesMatch ".(css|js|x?html?|php)$">
SetOutputFilter DEFLATE
</FilesMatch>

# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
# BrowserMatch bMSIE !no-gzip !gzip-only-text/html
BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html

# Don't compress images
SetEnvIfNoCase Request_URI 
.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>

# GZIP
<ifModule mod_gzip.c>
 mod_gzip_on Yes
 mod_gzip_dechunk Yes
 mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
 mod_gzip_item_include handler ^cgi-script$
 mod_gzip_item_include mime ^text/.*
 mod_gzip_item_include mime ^application/x-javascript.*
 mod_gzip_item_exclude mime ^image/.*
 mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Z góry dziękuję za pomoc i pozdrawiam :D

Odnośnik do komentarza
Udostępnij na innych stronach

Lighttpd nie obsługuje pliku .htaccess, regułki trzeba wpisać w jego pliku konfiguracyjnym. Sekcje pozostałych modułów można zasadniczo zignorować, dla rewrite powinno wystarczyć wpisane w vhoście danej domeny czegoś w stylu:

url.rewrite = (
"^(.*)$" => "/index.php?do=/$1"
)

Na emeryturze po SEO zajmuję się R&D.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuje za odpowiedź.

Tak więc krótkie linki się pokazały , ale niestety są pewne skutki uboczne , a mianowicie:

- Strona ładuje się jakieś dwie minuty , podstrony , odświeżenie - to samo [ normalny czas ładowania tej strony na apache + mod rewrite to "na oko" pół sekundy.

- Strona straciła hmmm... formatowanie? - całkowity brak obrazków ,tła , tabelek czy jak to się fachowo nazywa. poniżej screen:

stronkax.th.jpg

Uploaded with ImageShack.us

Działa logowanie , próbnie zarejestrowałam nowego użytkownika - również działa z tym, że normalnie przeglądarka od razu pyta czy zapisać nowe hasło użytkownika po rejestracji , a tym razem pyta - po dwóch minutach

Co do konfiguracji - wyczytałam w google , że zmiany należy dodawać w pliku konfiguracyjnym Lighttpd.conf.

Poniżej zamieszczam jego zawartość :

# Debian lighttpd configuration file
#

############ Options you really have to take care of ####################

## modules to load
# mod_access, mod_accesslog and mod_alias are loaded by default
# all other module should only be loaded if neccesary
# - saves some time
# - saves memory

server.modules			  = (
		 "mod_rewrite",
		 "mod_access",
		 "mod_alias",
		 "mod_accesslog",
		 "mod_fastcgi",
		 "mod_compress",
		 "mod_secdownload",
		 "mod_flv_streaming"
#		   "mod_evhost",
#		   "mod_usertrack",
#		   "mod_rrdtool",
#		   "mod_webdav",
#		   "mod_expire",
#		   "mod_evasive"
)

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root	   = "/var/www/"
$HTTP["host"] =~ "(^|\.)mojadomena\.pl$" {
server.document-root = "/home/www/mojadomena.pl"
server.errorlog = "/var/log/lighttpd/mojadomena.pl/error.log"
accesslog.filename = "/var/log/lighttpd/mojadomena.pl/access.log"
server.error-handler-404 = "/e404.php"
url.rewrite = (
"^(.*)$" => "/index.php?do=/$1"
)
}

## where to upload files to, purged daily.
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )

## where to send error-messages to
server.errorlog			= "/var/log/lighttpd/error.log"

## files to check for if .../ is requested
index-file.names		   = ( "index.php", "index.html",
						   "index.htm", "default.htm",
						   "index.lighttpd.html" )


## Use the "Content-Type" extended attribute to obtain mime type if possible
# mimetype.use-xattr = "enable"

#### accesslog module
accesslog.filename		 = "/var/log/lighttpd/access.log"

## deny access the file-extensions
#
# ~	is for backupfiles from vi, emacs, joe, ...
# .inc is often used for code includes which should in general not be part
#	  of the document-root
url.access-deny			= ( "~", ".inc" )

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )


######### Options that are good to be but not neccesary to be changed #######

## Use ipv6 only if available.
include_shell "/usr/share/lighttpd/use-ipv6.pl"

## bind to port (default: 80)
# server.port			   = 81

## bind to localhost only (default: all interfaces)
## server.bind				= "localhost"

## error-handler for status 404
#server.error-handler-404  = "/error-handler.html"
#server.error-handler-404  = "/error-handler.php"

## to help the rc.scripts
server.pid-file			= "/var/run/lighttpd.pid"

##
## Format: <errorfile-prefix><status>.html
## -> ..../status-404.html for 'File not found'
#server.errorfile-prefix	= "/var/www/"

## virtual directory listings
dir-listing.encoding		= "utf-8"
server.dir-listing		  = "enable"

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers  = "enable"

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot			= "/"

## change uid to <uid> (default: don't care)
server.username			= "www-data"

## change uid to <uid> (default: don't care)
server.groupname		   = "www-data"

#### compress module
compress.cache-dir		  = "/var/cache/lighttpd/compress/"
compress.filetype		   = ("text/plain", "text/html", "application/x-javascript", "text/css")


#### url handling modules (rewrite, redirect, access)
# url.rewrite				 = ( "^/$"			 => "/server-status" )
# url.redirect				= ( "^/wishlist/(.+)" => "https://www.123.org/$1" )

#
# define a pattern for the host url finding
# %% => % sign
# %0 => domain name + tld
# %1 => tld
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name
#
# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"

#### expire module
# expire.url				  = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")

#### rrdtool
# rrdtool.binary = "/usr/bin/rrdtool"
# rrdtool.db-name = "/var/www/lighttpd.rrd"

#### variable usage:
## variable name without "." is auto prefixed by "var." and becomes "var.bar"
#bar = 1
#var.mystring = "foo"

## integer add
#bar += 1
## string concat, with integer cast as string, result: "www.foo1.com"
#server.name = "www." + mystring + var.bar + ".com"
## array merge
#index-file.names = (foo + ".php") + index-file.names
#index-file.names += (foo + ".php")


#### external configuration files
## mimetype mapping
include_shell "/usr/share/lighttpd/create-mime.assign.pl"

## load enabled configuration files,
## read /etc/lighttpd/conf-available/README first
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

#### handle Debian Policy Manual, Section 11.5. urls
## by default allow them only from localhost
## (This must come last due to #445459)
## Note: =~ "127.0.0.1" works with ipv6 enabled, whereas == "127.0.0.1" doesn't
$HTTP["remoteip"] =~ "127.0.0.1" {
alias.url += (
	"/doc/" => "/usr/share/doc/",
	"/images/" => "/usr/share/images/"
)
$HTTP["url"] =~ "^/doc/|^/images/" {
	dir-listing.activate = "enable"
}
}

error logi czyste

czy mod_fastcgi może być przyczyną problemu?

Jeszcze raz dziękuję zazainteresowanie

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Wygląda na to, że przekierował też istniejące pliki takie jak CSS czy obrazki. Spróbuj:

url.rewrite = (

"^/(.+)\.(jpg|jpeg|gif|png|swf|avi|mpg|mpeg|mp3|flv|ico|css)$" => "$0",

"^(.*)$" => "/index.php?do=/$1"

)

Na emeryturze po SEO zajmuję się R&D.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności