0

私のサイト (すべての .php ファイル) で htaccess を使用したい:

a) .php 拡張子を削除する

b) index.php を www.mysite.com にリダイレクトします ( index とともに)

私はstackoverflowで検索を行い、次のことを思いつきました:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]

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

#Rewrite index.php back to /
RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC]
RewriteRule . / [R=301,L]

これは仕事の一部ですが、これを修正する方法がわかりません:

a) (ブラウザで) www.mysite.com/about ページをロードすると、about.php ページが正しく表示されます。しかし、www.mysite.com/about.php をロードしても、.php 拡張子は削除されません。Google の場合、これは 2 つの異なるページです。

b) (ブラウザで) www.mysite.com/index.php ページをロードすると、必要な www.mysite.com に移動しますが、www.mysite.com/index をロードすると、表示されるように問題が発生します。同じページですが、ここでインデックス部分を削除する方法がわかりません。繰り返しますが、Google には 2 つの異なるページがあります。

私の問題を正しく説明できることを願っています。再開すると、htaccess は機能していますが、希望どおりに調整する方法がわかりません。

(obs: 私のサイト内のページ間の内部リンクは作成されています ... href="about">私たちについて... )

どうもありがとう!

4

1 に答える 1

0

再編集

試す

RewriteCond %{THE_REQUEST} ^[^/]*/^(.*)$\.php [NC]
RewriteRule . /$1 [R=301,L]
于 2012-05-11T10:22:07.007 に答える