简化.htaccess太长时间了

时间:2016-03-26 12:58:13

标签: regex .htaccess mod-rewrite

我有这个.htaccess我为我的CMS写的,不幸的是我对.htaccess的了解真的很低,而且我不能缩短它,不知道正则表达式

RewriteCond %{HTTP_HOST} ^www\.miosito\.it [NC]
RewriteRule ^(.*)$ http://miosito.it/$1 [L,R=301]

RewriteRule ^upload/(.*)/(.*)x(.*)-(.*) thumbs.php?src=miosito.it/upload/$1/$4&h=$3&w=$2&c=1

#trofei
RewriteRule ^trofei/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)$ index.php?p=trofei&id=$1&nome=$2 [QSA,L]
RewriteRule ^trofei/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)/$ index.php?p=trofei&id=$1&nome=$2 [QSA,L]
#Video
RewriteRule ^video/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)$ index.php?p=video&id=$1&nome=$2 [QSA,L]
RewriteRule ^video/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)/$ index.php?p=video&id=$1&nome=$2 [QSA,L]
#Tag/Hashtag
RewriteRule ^hashtag/$ index.php?p=tag_hash [QSA,L]
RewriteRule ^hashtag$ index.php?p=tag_hash [QSA,L]
RewriteRule ^hashtag/([a-zA-Z0-9_-]+)/$ index.php?p=tag_hash&ricerca=$1 [QSA,L]
RewriteRule ^hashtag/([a-zA-Z0-9_-]+)$ index.php?p=tag_hash&ricerca=$1 [QSA,L]
RewriteRule ^hashtag/([a-zA-Z0-9_-]+)/pagina=([a-zA-Z0-9_-]+)$ index.php?p=tag_hash&ricerca=$1&pa=$2 [QSA,L]
RewriteRule ^hashtag/([a-zA-Z0-9_-]+)/pagina=([a-zA-Z0-9_-]+)/$ index.php?p=tag_hash&ricerca=$1&pa=$2 [QSA,L]
#Evento 
RewriteRule ^eventi/$ index.php?p=evento [QSA,L]
RewriteRule ^eventi$ index.php?p=evento [QSA,L]
RewriteRule ^eventi/([a-zA-Z0-9_-]+)$ index.php?p=evento&modo=mostra&nome=$1 [QSA,L]
RewriteRule ^eventi/([a-zA-Z0-9_-]+)/$ index.php?p=evento&modo=mostra&nome=$1 [QSA,L]
# Profilo utente Nome
RewriteRule ^utente/([a-zA-Z0-9_-]+)$ index.php?p=profile&nome=$1&sk=index [QSA,L]
RewriteRule ^utente/([a-zA-Z0-9_-]+)/$ index.php?p=profile&nome=$1&sk=index [QSA,L]
RewriteRule ^utente/([a-zA-Z0-9_-]+)/(amici|foto|video|stato)$ index.php?p=profile&nome=$1&sk=$2 [QSA,L]
#Giochi
RewriteRule ^giochi/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)$ index.php?p=scheda_gioco&id=$1&nome=$2&console=$3 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)/$ index.php?p=scheda_gioco&id=$1&nome=$2&console=$3 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)/(news|gallery|video|trofei|obiettivi)$ index.php?p=scheda_gioco&id=$1&nome=$2&console=$3&sk=$4 [QSA,L]
#Lista giochi
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/p=([a-zA-Z0-9_-]+)/$ index.php?p=giochi&console=$1&genere=$2&nome_gioco=$3&pa=$4 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/p=([a-zA-Z0-9_-]+)$ index.php?p=giochi&console=$1&genere=$2&nome_gioco=$3&pa=$4 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/p=([a-zA-Z0-9_-]+)/$ index.php?p=giochi&console=$1&genere=$2&pa=$3 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/p=([a-zA-Z0-9_-]+)$ index.php?p=giochi&console=$1&genere=$2&pa=$3 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/p=([a-zA-Z0-9_-]+)/$ index.php?p=giochi&tipo=$1&pa=$2 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/p=([a-zA-Z0-9_-]+)$ index.php?p=giochi&tipo=$1&pa=$2 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)/$ index.php?p=giochi&tipo=$1 [QSA,L]
RewriteRule ^giochi/([a-zA-Z0-9_-]+)$ index.php?p=giochi&tipo=$1 [QSA,L]
RewriteRule ^giochi/p=([a-zA-Z0-9_-]+)/$ index.php?p=giochi&pa=$1 [QSA,L]
RewriteRule ^giochi/p=([a-zA-Z0-9_-]+)$ index.php?p=giochi&pa=$1 [QSA,L]
RewriteRule ^giochi/$ index.php?p=giochi [QSA,L]
RewriteRule ^giochi$ index.php?p=giochi [QSA,L]
#Recensione
RewriteRule ^recensione/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)/$ index.php?p=recensione&id=$1&nome=$2&console=$3 [QSA,L]
RewriteRule ^recensione/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)$ index.php?p=recensione&id=$1&nome=$2&console=$3 [QSA,L]
#Dev
RewriteRule ^dev/([a-zA-Z0-9_-]+)$ index.php?p=devpub&tipo=dev&id=$1 [QSA,L]
RewriteRule ^dev/([a-zA-Z0-9_-]+)/$ index.php?p=devpub&tipo=dev&id=$1 [QSA,L]
#Publisher
RewriteRule ^pub/([a-zA-Z0-9_-]+)$ index.php?p=devpub&tipo=pub&id=$1 [QSA,L]
RewriteRule ^pub/([a-zA-Z0-9_-]+)/$ index.php?p=devpub&tipo=pub&id=$1 [QSA,L]
#Login
RewriteRule ^login/$ login.php [QSA,L]
RewriteRule ^login$ login.php [QSA,L]
#Cookie
RewriteRule ^cookie/$ public.php?p=cookie [QSA,L]
RewriteRule ^cookie$ public.php?p=cookie [QSA,L]
#404
RewriteRule ^404/$ public.php?p=404 [QSA,L]
RewriteRule ^404$ public.php?p=404 [QSA,L]
#Info
RewriteRule ^info/$ public.php?p=info [QSA,L]
RewriteRule ^info$ public.php?p=info [QSA,L]
#Contatti
RewriteRule ^contatti/$ public.php?p=contatti [QSA,L]
RewriteRule ^contatti$ public.php?p=contatti [QSA,L]
#Logout
RewriteRule ^logout/$ logout.php [QSA,L]
RewriteRule ^logout$ logout.php [QSA,L]
#Reg
RewriteRule ^reg/$ reg.php [QSA,L]
RewriteRule ^reg$ reg.php [QSA,L]
#Recupero
RewriteRule ^recupera/$ lost.php [QSA,L]
RewriteRule ^recupera$ lost.php [QSA,L]
#Check email e recupero
RewriteRule ^check/lost/([a-zA-Z0-9_-]+)/$ check.php?pagina=lost&code=$1 [QSA,L]
RewriteRule ^check/lost/([a-zA-Z0-9_-]+)$ check.php?pagina=lost&code=$1 [QSA,L]
RewriteRule ^check/activation/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)/$ check.php?pagina=activation&code1=$1&code2=$2 [QSA,L]
RewriteRule ^check/activation/([a-zA-Z0-9_-]+)-([a-zA-Z0-9_-]+)$ check.php?pagina=activation&code1=$1&code2=$2 [QSA,L]
#Jobs
RewriteRule ^jobs/$ public.php?p=jobs [QSA,L]
RewriteRule ^jobs$ public.php?p=jobs [QSA,L]
#Privacyenter code here
RewriteRule ^privacy/$ public.php?p=privacy [QSA,L]
RewriteRule ^privacy$ public.php?p=privacy [QSA,L]
#Team
RewriteRule ^team/$ public.php?p=team [QSA,L]
RewriteRule ^team$ public.php?p=team [QSA,L]
#Settings
RewriteRule ^impostazioni/$ index.php?p=settings [QSA,L]
RewriteRule ^impostazioni$ index.php?p=settings [QSA,L]
#Settings
RewriteRule ^password/$ index.php?p=settings&modo=password [QSA,L]
RewriteRule ^password$ index.php?p=settings&modo=password [QSA,L]
#Preferiti
RewriteRule ^preferiti/$ index.php?p=preferiti [QSA,L]
RewriteRule ^preferiti$ index.php?p=preferiti [QSA,L]
#Articolo
RewriteRule ^articolo/([a-zA-Z0-9_-]+)/$ index.php?p=articolo&id=$1 [QSA,L]
RewriteRule ^articolo/([a-zA-Z0-9_-]+)$ index.php?p=articolo&id=$1 [QSA,L]
RewriteRule ^articolo/([a-zA-Z0-9_-]+)/pagina_commenti=([a-zA-Z0-9_-]+)$ index.php?p=articolo&id=$1&pa=$2 [QSA,L]
RewriteRule ^articolo/([a-zA-Z0-9_-]+)/pagina_commenti=([a-zA-Z0-9_-]+)/$ index.php?p=articolo&id=$1&pa=$2 [QSA,L]
#Cerca
RewriteRule ^cerca/$ index.php?p=cerca [QSA,L]
RewriteRule ^cerca$ index.php?p=cerca [QSA,L]
RewriteRule ^cerca/ricerca=(.*)/$ index.php?p=cerca&ricerca=$1 [QSA,L]
RewriteRule ^cerca/ricerca=(.*)$ index.php?p=cerca&ricerca=$1 [QSA,L]
RewriteRule ^cerca/pagina=([a-zA-Z0-9_-]+)/ricerca=(.*)/$ index.php?p=cerca&pa=$1&ricerca=$2 [QSA,L]
RewriteRule ^cerca/pagina=([a-zA-Z0-9_-]+)/ricerca=(.*)$ index.php?p=cerca&pa=$1&ricerca=$2 [QSA,L]
RewriteRule ^cerca/pagina=([a-zA-Z0-9_-]+)/$ index.php?p=cerca&pa=$1[QSA,L]
RewriteRule ^cerca/pagina=([a-zA-Z0-9_-]+)$ index.php?p=cerca&pa=$1 [QSA,L]
#Console
RewriteRule ^(ps3|ps4|x360|xone|pc|ps2|psx|mac|xbox|ngc|android|iph|3ds|gb|gbc|wii|gba|ipad|wiiu|psvita|psp|ds|atv)/$ index.php?p=console&nome_console=$1 [QSA,L]
RewriteRule ^(ps3|ps4|x360|xone|pc|ps2|psx|mac|xbox|ngc|android|iph|3ds|gb|gbc|wii|gba|ipad|wiiu|psvita|psp|ds|atv)$ index.php?p=console&nome_console=$1 [QSA,L]
RewriteRule ^(PS3|PS4|X360|XONE|PC|PS2|PSX|MAC|XBOX|NGC|ANDROID|IPH|3DS|GB|GBC|WII|GBA|iPAD|WiiU|PSVITA|PSP|DS|ATV)$ index.php?p=console&nome_console=$1 [QSA,L]
RewriteRule ^(PS3|PS4|X360|XONE|PC|PS2|PSX|MAC|XBOX|NGC|ANDROID|IPH|3DS|GB|GBC|WII|GBA|iPAD|WiiU|PSVITA|PSP|DS|ATV)/$ index.php?p=console&nome_console=$1 [QSA,L]

如何缩短时间?非常感谢你的帮助...

1 个答案:

答案 0 :(得分:1)

您可以通过允许使用可选的尾部斜杠并减少这两条规则之类的规则来将所有规则减半:

RewriteRule ^hashtag/$ index.php?p=tag_hash [QSA,L]
RewriteRule ^hashtag$ index.php?p=tag_hash [QSA,L]

成这样的单一规则:

RewriteRule ^hashtag/?$ index.php?p=tag_hash [QSA,L]