2015-04-23 123 views
1

我開發一個品牌的一個短鏈接的網站,我需要有鏈接看起來是這樣的:URL重寫的.htaccess

http://demo-name.com/[shortvalue] 

我知道如何做到這一點如下:

http://demo-name.com/l/[shortvalue] 
使用基本的重寫規則

,不過,我不確定如何做到這一點沒有l的前綴。

我還需要能夠去

http://demo-name.com/file.php 

運行某些文件,因此這需要就可以了。

如果它也有可能,我希望能有在我的網址的末尾

http://demo-name.com/[shortvalue]?key=val&key2=val2 
           ^^^^^^^^^^^^^^^^^^ 

查詢字符串,因此如果[QSA]是可能的,這將是偉大的!

回答

2

您可以測試文件是否爲RewriteCond中的目錄(-d)或文件(-f)。

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/\.]+)$ index.php?shorturl=$1 [L,QSA] 

此規則將改寫任何「的shortValue」無斜線或點到index.php?shorturl=shortvalue