2014-09-28 85 views
1

首先,我的英語不是很好,我認爲就足夠了。PHP - 帶有擴展/未擴展鏈接正則表達式用於重寫

所以,我有這個規則,並將其與unextension環節的工作(本地主機/ ABC)

RewriteRule ^([0-9a-zA-Z-_/]+)$ Sayfalar.php?Sayfa=$1 

http ://127.0.0.1:84/Bilgilerim 
---> http ://127.0.0.1/Sayfalar.php?Sayfa=Bilgilerim 

http ://127.0.0.1:84/Bilgilerim/dasdasd/asdasd/asdasd 
---> http://127.0.0.1/Sayfalar.php?Sayfa=Bilgilerim/dasdasd/asdasd/asdasd 

但我想有時使用擴展字符,如「.XX」。我試圖這樣做^([0-9a-zA-Z -_ /] +)$。?但我沒有做到。 因此,如果此

http://127.0.0.1:84/Bilgilerim 
---> http://127.0.0.1/Sayfalar.php?Sayfa=Bilgilerim 
http://127.0.0.1:84/Bilgilerim.xx 
---> http://127.0.0.1/Sayfalar.php?Sayfa=Bilgilerim.xx 

http://127.0.0.1:84/Bilgilerim/dasdasd/asdasd/asdasd 
---> http://127.0.0.1/Sayfalar.php?Sayfa=Bilgilerim/dasdasd/asdasd/asdasd 
http://127.0.0.1:84/Bilgilerim.xx/dasdasd/asdasd/asdasd 
---> http://127.0.0.1/Sayfalar.php?Sayfa=Bilgilerim.xx/dasdasd/asdasd/asdasd 

任何解決方案,請分享我:/

回答

1

你可以把這段代碼在你的htaccess的(這必須是在根文件夾)

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /Sayfalar.php?Sayfa=$1 [L] 

注:RewriteCond線防止現有的文件(如你的CSS文件)被改寫

1

您可以簡單地添加了一段你的性格類:

RewriteRule ^([0-9a-zA-Z-_/.]+)$ Sayfalar.php?Sayfa=$1 

這將使重寫你提到的網址 -

http://127.0.0.1:84/Bilgilerim.xx

http://127.0.0.1:84/Bilgilerim.xx/dasdasd/asdasd/asdasd

希望幫助

+0

我確實使用過它,它工作但所有鏈接都在變化。我的意思是例如style.css是我的全局樣式文件。它打開像http://127.0.0.1/Sayfalar.php?Sayfa=style.css。你可以建議任何解決方案:/ – traBolics 2014-09-28 22:43:56