2014-12-06 105 views
-1

我正在htaccess中重寫我的url規則,並且還使用sefURL(SEO Friendly URL)。但有一個問題,URL重定向問題

當我要從我的網頁鏈接它會生成友好的URL的URL,但如果我要在那裏寫直接文件名,那麼我也想重定向在同一個URL'

例如,

在我的網頁我有這麼使用的htaccess它將指向我的服務器myfirsthtpage.php文件

現在,如果我寫的網址這樣http://www.exampleskey.com/myfirsthtpage.php所以它只會顯示給我產生的http://www.exampleskey.com/myfirsthtpage URL鏈接一個相同的URL,但如果任何一個寫在上面URL應該重定向到htaccess的http://www.exampleskey.com/myfirsthtpage。任何人都可以幫助我做到。

我也嘗試過'RewriteCond',但沒有得到正確的結果。

回答

-1
AddDefaultCharset UTF-8 
RewriteEngine on 
RewriteBase/
RewriteRule ^myfirsthtpage/?$ myfirsthtpage.php [L] 

複製粘貼此代碼

+0

Thsnks兄弟。但它不會工作。它將我的URL指向php頁面,而不是在運行時刪除我的.php擴展名。 – KinjalMistry 2014-12-06 04:38:26

+0

只需複製粘貼此代碼,然後訪問http://www.exampleskey.com/myfirsthtpage並查看地址欄。它工作該死的酷。你也可以管理它的運行時間。我的完整用戶門戶網站適用於此規則。 – 2014-12-06 04:40:21

+0

你好夥計, 謝謝你。但你沒有正確閱讀我的問題。我想阻止用戶使用'.php'擴展名。你說寫和點擊'exampleskey.com/myfirsthtpage' URL,這很酷它已經適合我。如果有人擊中'exampleskey.com/myfirsthtpage.php',我想要一個人重定向到'exampleskey.com/myfirsthtpage'。 – KinjalMistry 2014-12-06 04:49:46

0

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代碼:

RewriteEngine On 
RewriteBase/

# To externally redirect /dir/file.php to /dir/file 
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.php[\s?] [NC] 
RewriteRule^/%1%2 [R=302,L,NE] 

# To internally forward /dir/file to /dir/file.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ /$1.php [L] 
+0

你好, 謝謝你。但它不工作。 – KinjalMistry 2014-12-06 05:55:29

+0

這是來自我的實時網站的測試代碼和工作代碼。您必須確保將其置於DOCUMENT_ROOT中,並且您沒有其他規則或沒有其他規則.htaccess – anubhava 2014-12-06 06:07:20

+0

而不是**不工作**類型的評論,您應該提供有關您遇到的問題的詳細信息。你在瀏覽器中輸入了什麼URL以及這個.htaccess文件的位置是什麼?你有什麼錯誤? – anubhava 2014-12-06 06:12:53