2016-09-09 96 views
0

我想刪除喜歡的擴展名爲.php和.html等從我的網址,這是我用:修改URL以.htaccess文件

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

它的工作原理,但我不知道這是否是做這件事的最好方法,我也不明白它是如何工作的,有人可以解釋它嗎?

我想實現的第二件事是使URL更美麗做這樣的事情:

這是我的網址:http://domain.com/portfolio/project.php?id=1 這是我想看到的內容:http://domain.com/portfolio/project/1

在此先感謝

+0

這是要價較高的.htaccess在'portfolio /'目錄中編輯? – anubhava

+0

沒有在根目錄(http://domain.com),所以在與文件夾文件夾相同的水平 –

回答

2

您可以使用網站根目錄的.htaccess的規則:

RewriteEngine On 

# rewrite /portfolio/project/25 to /portfolio/project.php?id=25 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f 
RewriteRule ^(portfolio/[\w-]+)/([\w-]+)/?$ $1.php?id=$2 [L,QSA,NC] 

# rewrite /portfolio/project to /portfolio/project.php 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 

# rewrite /portfolio/file to /portfolio/file.html 
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f 
RewriteRule ^(.+?)/?$ $1.html [L] 
+0

謝謝,我會測試,如果這個工程,但你也可以解釋這是如何工作的? –

+0

我在每條規則前添加了評論。 – anubhava