2012-05-11 72 views
0

在我的网站(所有.php文件),我想使用的htaccess到:htaccess的删除PHP扩展和重定向指数

一)删除扩展名为.php

B)重定向index.php来www.mysite .COM(连同指数)

我在计算器搜索,我想出了:

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扩展名,这是谷歌这是2个不同的网页。

b)如果我加载(在浏览器中)页面www.mysite.com/index.php它是www.mysite.com这是我想要的,但如果加载www.mysite.com/index我有一些问题,因为它显示相同的页面,但不能看到如何删除索引部分。再说一次,对于谷歌我有两个不同的页面。

希望我能正确解释我的问题。 在恢复htaccess正在工作,但无法看到如何调整它,因为我想。

(OBS:在我的网站页面之间的内在联系是由... HREF = “关于”>关于我们...)

非常感谢!

回答

0

编辑再次

尝试

RewriteCond %{THE_REQUEST} ^[^/]*/^(.*)$\.php [NC] 
RewriteRule . /$1 [R=301,L] 
+0

感谢nyne但目前看来,现在所有的调用都使用php扩展,即使我只能把www.mysite.com/about(它增加了.PHP扩展名) 为索引它被纠正,我的意思是,如果我pu www.mysite.com/index它去www.mysite.com 可能是在htaccess中的行的顺序或可能我不是能够正确解释我的问题?谢谢 –

+0

再次感谢nyne; ..相同的情况下,如果我在浏览器www.mysite.com/about.php写它不会删除.php ... –