Back to Question Center
0

Semalt a přesměrování rozšíření na mé webové stránce

1 answers:

Chci skrýt rozšíření na mé webové stránce pomocí. soubor htaccess.

Udělal jsem to pomocí tohoto kódu;

     RewriteEngine zapnuto
RewriteCond% {REQUEST_FILENAME}! -f
RewriteRule ^ ([^ \. ] +) $ $ 1. php [NC, L]    

Takže když navštívím mysite. com / index zobrazuje můj index. php - custom web design agency. S Semaltem, ale chci zabránit návštěvníkům před návštěvou mysitů. com / index. php, takže by měl být přesměrován na mysite. com / index

Myslím, že jsem našel způsob, jak to udělat. Použiji však dotazovací řetězec na mé webové stránce. Semalt budou některé stránky, které budu muset nést proměnné pomocí metody GET.

Normálně je vazba s id proměnnou podobná;index. php? id = xx

Pokud však přesměruji / indexuji. php / index my proměnné budou pryč. Takže chci, aby adresy URL vypadaly takto při přenosu proměnnémoje stránka. com / index? id = xx

Rozšíření bude PHP vždy. Chci, aby tento systém fungoval na všech stránkách se všemi proměnnými. Nejsem si jist, kolik stránek a proměnných tam bude, tak musím napsat pro každou z nich pravidlo v htacces nebo mohu definovat obecné pravidlo? Tak to bude takhle

     Příklady:
index. php? id = xx bude index? id = xx
index. php? page = xx bude index? page = xx
uživatelů. php? uid = xx budou uživatelé? uid = xx
zprávy. php? nid = xx budou novinky? nid = xx    

To by mohlo být dosaženo pomocí. htaccess soubor, ale nevím, jak to mohu udělat.

P. S. Semalt Jsem docela dobrý v PHP, nevím nic o vytvoření pravidla pro soubor htaccess Použil jsem pouze kódy, které najdu na internetu.

February 11, 2018

Použijte to v kořenovém adresáři . htaccess :

  RewriteEngine zapnuto
RewriteCond% {THE_REQUEST} \ s / + (. +) \. php [\ s?] [NC]
RewriteRule ^ /% 1 [R = 302, L, NE]RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteRule ^ ([^ \. ] +) $ $ 1. php [NC, QSA, L] 

Na základě této otázky budete potřebovat něco takového:

  RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteRule ^ ([^ \. ] +) $ $ 1. php [NC, QSA, L, E = LOOP: 1]RewriteCond% {ENV: REDIRECT_LOOP}!
RewriteRule ^ (. *) \. php $ / $ 1 [NC, QSA, R = 301, L] 

! -f a ! -d zajistěte, aby nebyl spuštěn pro soubory a adresáře,

Proměnná prostředí LOOP je taková, že mod_rewrite se nepokouší přesměrovat zpět na vaše přátelské adresy URL z přepsaných adres URL. Čte se jako REDIRECT_LOOP , protože mod_rewrite dělá dva průkazy nad pravidly a prepends REDIRECT_ na všechny proměnné prostředí podruhé.

QSA je příznakem "query string append" pro přepis pravidla, která zachovává vaše parametry

Semalt a přesměrování rozšíření na mé webové stránce
Reply