在我的网站(所有.php文件(中,我想使用htaccess:
a( 删除.php扩展
b( 重定向索引.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 它正确显示关于.php的页面。但是如果我加载 www.mysite.com/about.php 它不会删除.php扩展名,对于谷歌来说,这是 2 个不同的页面。
b( 如果我加载(在浏览器中(页面 www.mysite.com/index.php 它会转到我想要的 www.mysite.com 但如果加载 www.mysite.com/index 我遇到了一些问题,因为它显示相同的页面,但看不到如何在此处删除索引部分。所以再一次,对于谷歌,我有 2 个不同的页面。
希望我能正确解释我的问题。在恢复中,htaccess 正在工作,但看不到如何按照我想要的方式调整它。
( 注意:我的网站页面之间的内部链接是...href="about">About Us... (
非常感谢!
再次编辑
尝试
RewriteCond %{THE_REQUEST} ^[^/]*/^(.*)$.php [NC]
RewriteRule . /$1 [R=301,L]