2012-11-04 17 views
7

可能性の重複:
remove .php extension with .htaccessリダイレクトの.phpのURL

私はすべての私のウェブサイトのURL myurl/webpageexamples.phpはその非拡張に名前を変更するようにしたいですバージョンmyurl/webpageexamples-htaccess-の可能な限り、同時にmyurl/webpageexamples.phpからのすべてのトラフィックを新しいmyurl/webpageexamplesにリダイレクトします。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 

私が持っているもの: myurl/webpageexamples.php

私が欲しいもの: myurl/webpageexamples 持つSEOスコア

は、私のような非phpのためにPHPからリダイレクトするために、いくつか発見しました新しいmyurlに転送/

答えて

18

ヨありがとうwebpageexamples実際のリクエストがPHPページのものであればリダイレクトして、URIがPHPを見つけられないときは内部的に書き直したいと思っています:

RewriteEngine On 

# browser requests PHP 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php 
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301] 

# check to see if the request is for a PHP file: 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^/?(.*)$ /$1.php [L] 
+0

私はそれと思います。 あなたはマスターです。 リクエスト後にチェックを行うことに違いはありますか? – Gorrion

+0

または、最初にチェックしてからブラウザに要求する方がよいでしょうか? それは301 yhisはmypage.phpから新しいmypageにすべてのSEOを転送するでしょうか?もう一度ありがとうございます – Gorrion

+0

どのような順序であっても、相互に排他的です。 –