2015-05-22 98 views
0

我想在我的Apache中進行url重寫,但我不確定它是哪一個。例如,如果有人去www.example.com點擊中有一個選項卡上,默認情況下它會www.example.com/profile.php 我怎樣才能把它改寫爲www.example.com/profile /或更好,www.example.com沒有/profile/Apache Url重寫或掩碼刪除擴展名爲.php

RewriteEngine On 

RewriteCond %{HTTP} on 
RewriteRule ^/(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f 
RewriteRule ^/(.*)$ /$1.php [L,QSA] 

RewriteCond %{HTTP_USER_AGENT} libwww-perl 
RewriteRule^– [F] 

Options +FollowSymlinks 
RewriteEngine On 
RewriteCond %{QUERY_STRING} foo=(.*) 
RewriteRule ^grab(.*) /search.php?query=%1 
+0

你是否已經嘗試改寫這個網址? – umka

+0

是的,我附上我的代碼。另一件事我該如何重寫搜索? –

回答

0

我怎樣才能把它改寫對於www.example.com/profile/ 或更好,www.example.com無/資料/

你 「更好」 的方法是有缺陷的。人們喜歡書籤。從網址中刪除/profile/將會阻止鏈接共享和書籤。網站在輕鬆鏈接共享上發展。

RewriteEngine On 
RewriteRule ^([^\/]*)\/?$ $1.php [L,QSA] 

您可以測試這個規則在這裏:http://htaccess.madewithlove.be/

+0

好的,但它仍然有可能嗎?我的主要原因只是登錄後的主頁,例如: example.com/index.php - > login.php - > exmaple.com/main.php 我怎樣才能保持main.php爲example.com/ –

+0

這取決於你的應用程序的設計。但是從URL中刪除文件名(或某種形式的標識符)是否定的。 –

+0

例如,Facebook將如何做呢?當你註銷它的index.php時,當你登錄其仍然index.php –