我想删除我的网址PHP扩展,使之使用.htaccess文件重定向301,以保持“等级果汁”搜索引擎友好的和我一样多,我尝试了几乎每一个如约 - 它只是没有按“T似乎工作。
下面是一些我尝试失败已经是方法:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
这是给予最常见的解决方案,但没有任何反应,也没有改变。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /$1.php [L]
没有任何反应,也没有改变。
RewriteEngine On
# RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php
# RewriteRule (.*)\.php$ /$1 [L,R=301]
# RewriteRule (.*)/$ $1.php [L]
我得到一个未找到 :请求的URL /AMENPTHOME/hostnd/3/9/9/399fc7b78/www/htdocs/web/dive-sites.php此服务器上找到。
阿门是我的主机和文件潜水sites.php在这个具体的实际的例子是根。 我的目标是有:www.domain.com/dive-sites因为此网址已经排了一阵不www.domain.com/dive-sites.php使用重定向301。 是否有人可以帮助?
非常感谢你,所有的帮助表示赞赏。
如果我没有错过任何东西:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/(.+)\.php[^\s]* [NC]
RewriteRule ^ /%1 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [QSA,NC,L]
请求/dive-sites.php
会发出301重定向到/dive-sites
,追加查询字符串(如有)。
请求/dive-sites
会得到一个200响应/dive-sites.php
为Content-Location
,追加查询字符串(如有)。
尝试这个:
RewriteEngine叙述上
重写规则^ /(+)(($ |#)*(*))/$1.php$2
如果只去除.PHP这会工作。
$ 1 =页面,如foo的名字
$ 2 =注意到#标签或GET请求
例如。
试试这个代码.php
扩展去除:
RewriteEngine On
## hide .php extension
# To externally redirect /dir/file.php to /dir/file
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L,NE]
# To internally forward /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]