.htaccess 将.php URL重定向到不带扩展名的URL
可能重复:.htaccess 将.php URL重定向到不带扩展名的URL,.htaccess,redirect,.htaccess,Redirect,可能重复: 我想将我所有的网站URL,myurl/webgeexamples.php,重命名为其非扩展版本myurl/webgeexamples,如果可能的话,可以将所有流量从myurl/webgeexamples.php重定向到新的myurl/webgeexamples 我发现有几种方法可以从PHP重定向到非PHP,如: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !
我想将我所有的网站URL,
myurl/webgeexamples.php
,重命名为其非扩展版本myurl/webgeexamples
,如果可能的话,可以将所有流量从myurl/webgeexamples.php
重定向到新的myurl/webgeexamples
我发现有几种方法可以从PHP重定向到非PHP,如:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301]
我所拥有的:
myurl/webpageexamples.php
我想要的是:
myurl/webpageexamples
我想将SEO分数转移到new
myurl/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]
我想就是这样。你是主人。在请求之后进行检查有什么区别吗?还是先进行检查然后再进行浏览器请求更好?我猜因为是301,yhis会将所有SEO从mypage.php转移到新的mypage,对吗?感谢againIt,无论顺序如何,它们都是互斥的。如果我想(几天后我会这样做)也将所有流量从http重定向到https,我会在代码中添加什么?谢谢。警告:这看起来是对这个问题最简洁的回答,但我所看到的所有类似答案都不能解释查询字符串中的
.php
(GET/blah?tricked=you.php HTTP/1.1
)。我相信将/([^\]+)\.php
更改为/([^?\]+)\.php
会解决这个问题。