2012-12-15 44 views
0

目前我使用下面的.htaccess去除php擴展如何使用.htaccess基於此條件重定向?

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

我想打字www.example.com/login時顯示的頁面www.example.com/login.php並要顯示www.example.com/profile=username打字www.example.com/username

任何建議或答案時感謝提前

回答

2

http://www.9lessons.info/2009/11/pretty-urls-with-htaccess-file.html

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?key=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?key=$1 

<?php 

$key=$_GET['key']; 

if($key=='home') 
{ 
include('home.php'); // Home page 
} 
else if($key=='login') 
{ 
include('login.php'); // Login page 
} 
else if($key=='terms') 
{ 
include('terms.php'); // Terms page 
} 
else 
{ 
include('users.php'); // Users Gateway 
} 
?> 
+0

如果我輸入www.example.com/login,它會重定向到imdex.php?key = login? –

+0

是的,我認爲,但你必須在PHP文件中定義該代碼,我編輯我的代碼檢查它!你可以看到這個教程!我不太瞭解.htacess文件! –

+0

我已經創建了登錄頁面......使用這個.htaccess將使我重新創建所有頁面...... –

1

這裏是另一種選擇:

RewriteEngine On 
RewriteCond %{REQUEST_URI} (.*)/([\w]+)\.php [NC] 

#Select ONE of the following options and DELETE the others 
# 1) Without redirection 
RewriteRule .* %1/%2 [L] 

# 2) With temporary redirection 
RewriteRule .* %1/%2 [R,L] 

# 3) With permanent redirection 
RewriteRule .* %1/%2 [R=301,L] 

選擇相應的重寫規則。

+0

PLZ你可以說它做了什麼? –

+0

那麼,它會捕獲URI並將其分成兩組:第一個包含整個路徑,直到php文件。第二個與文件的名稱。最後,重寫規則使用這兩個組來組裝替代URL。 –

+0

它在哪裏重定向? –