與htaccess的工作的i-解決有關從(例如)的URL轉換:HTTP與htaccess的更新URL重定向僅
的(a)http://www.mydomain.ext/dir/myfile.php
到:
(B)http://www.mydomain.ext/dir/myfile
(刪除.php)結束。但是,如果用戶從網絡打字中(a)他們顯示網址以便輸入。 我如何解決becouse鍵入(a)webserver display too(b)? 我想過從(a)到(b)的重定向,但不認爲這是最好的解決方案,有什麼建議解決它? 非常感謝您的幫助。
補充一點: 嘗試用一個具體的例子來更好地解釋這個問題。從開始的.htaccess我有:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>
和我解決它使用PHP這樣:
$default_url = "http://".$_SERVER["HTTP_HOST"].$_SERVER
["REQUEST_URI"]; // display something as: http://www.mysite.ext/dir/filename.php
$canonical_url = str_replace(".php", "", "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]); // display something as: http://www.mysite.ext/dir/filename
if ($default_url != $canonical_url) {
header('Location: ' . $canonical_url, true, 301);
}
請問作爲更新的.htaccess代碼整合有關PHP腳本descripted功能。我看起來很多例子,但沒有解決它。 非常感謝。
https://github.com/phanan/htaccess – hjpotter92
@ hjpotter92感謝鏈接,環顧四周後,如果類型(a)網頁加載正確,瀏覽器中顯示如(a)所示。當我輸入url(b)網頁加載正確,我顯示在(b)中。 我想解決這個問題:如果我鍵入(a)我想顯示在(b)中。它當然在瀏覽器的url字段中。我希望現在用例子來解釋一下。 –
@anubhava,我的問題不是允許一個網頁加載沒有*。PHP擴展從URL(我已經解決了,我在我的帖子中說過)。我的問題是其他,當我鍵入一個URL放*。PHP擴展名頁面加載(作爲相同的URL沒有*。PHP),但到瀏覽器的字段URL仍然是* .PHP擴展名的URL。我只想在模式中進行輸入:http://www.pippo.it/page.php在URL顯示的瀏覽器中,我有:http://www.pippo.it/page。解決方案是一個重載頁面,重定向到:http://www.pippo.it/page,但我需要如何使用htaccess來做到這一點?謝謝。 –