. Htaccess sorgudan sondaki dönemleri kaldırır

0 Cevap php

. Htaccess dizelerden firar dönemi kaldırarak bazı problemler yaşıyorsunuz. Ben Apache/2.2.12 (Win32) çalıştırıyorum.

Bu bir üretim sistemi değildir, bu yüzden başka htaccess başka bir şey yoktur.:

RewriteEngine on  

Adı sonunda bir dönem olmadıkça ... ve kurallar, ve bu, şimdiye kadar bütün durumlarda iyi çalışır. Kurallar tüm şeklinde:

RewriteRule ^thing/(.*)$ showthing.php?thingname=$1

A.php bir link:

<a href="thing/M.O.X."> ...CLICK

Yani içinde showthing.php, ben sadece yapın:

$sTHINGname= !isset($_REQUEST['thingname']) ? NULL : $_REQUEST['thingname'];

Db kimliğini bulmak için gerçi ... sonra $sTHINGname çalıştırılır.

Sorun ne zaman thingname sonuna bir nokta (: "M.O.X." gibi) olmasıdır

echo $sTHINGname;  // shows M.O.X, which does not match an ID

Bir çözüm yapmaktır:

str_replace( '.', '%2E', $name );  

Ancak bağlantılar yönlendiren sayfa (A.php) yerleştirilir ve bu çalışır, ancak ne zaman bağlantılar okuyun:

<a href="thing/M%252EO%252EC%252E">

Bir URL olarak bir kullanıcı türleri "... bir şey / M.O.X." hala bir sonuç alamadım çünkü eğer ... hangi biraz terbiyesiz ve sorunu çözmez.

Ben $ _GET ile $ _REQUEST yerine teslim, ama sonuç değişmez. Ayrıca:

RewriteRule ^(thing/)(.*)$ showthing.php?thingname=$2  

... Ve varyasyonları tüm aynı sonuçları gösterir.

Htaccess ve dönemleri ile ilgili en arama sonuçları etki konular, bu yüzden herkes bu biri hakkında herhangi bir fikir olup olmadığını merak ediyorum?

0 Cevap