Otu esi eme ntụgharị nke ime na mod_rewrite na Apache
N'isiokwu a na nke na-esote anyị ga-akọwa otu esi eji mod_rewrite, iji maapụ ụfọdụ arịrịọ HTTP na ibe ndị ọzọ na weebụsaịtị, ma ọ bụ na URL mpụga.
N'ikwu ya n'ụzọ ọzọ, modul Apache a a ma ama ga-enye gị ohere ibugharị URL gaa na nke ọzọ, nke anyị ga-egosipụta site na ihe atụ bara uru.
IHE: Ọmụmaatụ ndị dị n'okpuru chere na ị maara nke ọma na Perl Compatible Regular Expressions (PCRE). Ebe ọ bụ na isiokwu ahụ esighị na akụkọ a, rụtụ aka na ụdị Perl 5 24.0 maka nkọwa ndị ọzọ na PCRE.
Tupu ịga n'ihu, gbaa mbọ hụ na ebugoro modul idegharị. Ọ bụ ezie na nke a bụ omume ndabara na CentOS na nkesa yiri ya, na Debian na usoro ị ga-achọ iji aka buo ya dị ka ndị a:
# a2enmod rewrite
Ịhazi Apache ka ọ jiri mod_rewrite Module
Maka ịdị mfe, ka anyị jiri saịtị ndabara na igbe CentOS 7 (IP 192.168.0.100) kọwaa otu esi eji mod_rewrite (DocumentRoot: /var/www/html, faịlụ nhazi: /etc/httpd/conf/httpd.conf).
Ka Apache jiri modul a, tinye ahịrị a na faịlụ nhazi:
RewriteEngine on
Ọ dị mkpa iburu n'obi na ndị ọbịa mebere agaghị eketa nhazi a n'otu igbe.
Ya mere, ị ga-achọ ịgbakwunye RewriteEngine na maka onye ọ bụla mebere onye ọbịa ebe ịchọrọ iji iwu idegharị.
Ntugharị n'ime bụ ihe atụ kachasị mfe nke mod_rewrite. Ọ bụrụ na ịchọrọ ịtụgharị arịrịọ niile maka default.aspx na index.html, tinye ahịrị na-esonụ (nke a makwaara dị ka iwu idegharị) n'okpuru RewriteEngine na:
RewriteRule "^/default\.aspx$" "/index.html"
ma echefukwala ịmalitegharị Apache ka mgbanwe ndị ahụ wee dị irè.
Nke a nwere ike ịba uru ma ọ bụrụ na ejiri ASP mee saịtị gị na mbụ wee gbanwee ka ọ bụrụ HTML5 dị larịị. Ngwa nchọta ga-enwe ntụnye faịlụ .aspx
mana faịlụ ahụ anaghị adị ọzọ.
N'okwu ahụ, ị ga-achọ ụzọ ị ga-esi megharịa arịrịọ ahụ ka ndị ọbịa gị ghara ịbanye na ibe njehie. Iji nwalee, ka anyị mepụta faịlụ HTML dị mfe aha ya bụ index.html
n'ime /var/www/html nwere ọdịnaya ndị a:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>New site</title> </head> <body> <h2>Default.aspx was here, but now it's index.html</h2> </body> </html>
Ihe nrịbama nlekọta na dollar ga-eme ka okwu oge niile dabara na eriri ọ bụla na-amalite na /default
wee mechie na .aspx
, n'otu n'otu.
Ugbu a malite ihe nchọgharị gị wee tụọ ya na 192.168.0.100/default.aspx. Ọ bụrụ na ihe na-aga dị ka a tụrụ anya, Apache kwesịrị ijere index.html
kama.
Agbanyeghị, onye ọrụ njedebe ka ga-ahụ default.aspx
na ogwe adreesị na-eme ka mgbanwe ahụ pụta ìhè kpamkpam:
![](common-images/redirection-with-mod_rewrite-in-apache/Mapping-URL-in-Apache.png)
Ọ bụrụ na ịchọrọ URL dị n'ime ebe adresị ka ọ gosi na ihe nkesa ọ na-eje ozi n'ezie index.html
kama ihu ibe akpọrọ default.aspx
, tinye [R, L]
ruo na njedebe nke iwu idegharị dị ka ndị a:
RewriteRule "^/default\.aspx$" "/index.html" [R,L]
Ebe a [R,L]
bụ ọkọlọtọ nhọrọ abụọ nke na-egosi na ekwesịrị ịnye redirect HTTP zuru ezu na ihe nchọgharị (R)
yana na enweghị iwu ọzọ a ga-ahazi:
![](common-images/redirection-with-mod_rewrite-in-apache/Redirect-URL-to-Actual-Page.png)
Rịba ama ka ebe adreesị na-egosi ugbu a index.html
, dị ka a tụrụ anya ya, kama ịbụ default.aspx
dị ka ọ mere na mbụ.
N'isiokwu a, anyị kọwara otú e si eji mod_rewrite rụọ ọrụ redirection. Nọrọ na nche maka post na-esote ebe anyị ga-amụta ka esi atụgharị gaa na akụrụngwa nke ebufere na sava dị iche, yana otu esi edegharị ọkọlọtọ.
Dị ka mgbe niile, nweere onwe gị iji ụdị nkọwa n'okpuru ma ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ nzaghachi gbasara akụkọ a. Anyị na-atụ anya ịnụ gị!