Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除带有.htaccess的.php扩展是否与我的页面重复?_Php_.htaccess_Hosting - Fatal编程技术网

删除带有.htaccess的.php扩展是否与我的页面重复?

删除带有.htaccess的.php扩展是否与我的页面重复?,php,.htaccess,hosting,Php,.htaccess,Hosting,我刚刚删除了web上文件的.php扩展名,并将此代码添加到.htaccess文件中(第一行在我第一次打开文件时已经存在): AddHandler应用程序/x-httpd-php71.php.php5.php4.php3 重新启动发动机 重写cond%{REQUEST_FILENAME}-D RewriteCond%{REQUEST_FILENAME}.php-f 重写规则^(.*)$$1.php 事实上,现在我可以通过两种方式访问我的站点,我指的是misite.com/shop和misite.

我刚刚删除了web上文件的.php扩展名,并将此代码添加到.htaccess文件中(第一行在我第一次打开文件时已经存在):

AddHandler应用程序/x-httpd-php71.php.php5.php4.php3
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}.php-f
重写规则^(.*)$$1.php
事实上,现在我可以通过两种方式访问我的站点,我指的是misite.com/shop和misite.com/shop.php

这是否会影响我的页面SEO,因为同一个页面可以通过两种不同的方式访问,或者这并不意味着有任何问题


我想改变的另一件事是,当我点击我的索引站点时,它显示为mysite.com/index(现在我已经删除了.php扩展名)。我如何使它只显示“mysite.com”,而不显示“/索引”?

下面的代码将帮助您删除
.php
扩展名并重定向它,而不使用
.php
格式:

## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} \s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
下面是处理SEO相关问题的元代码。使用
rel=“canonical”
,它用于让搜索引擎知道页面的原始URL。下面是一个例子,它会让机器人知道URL是的实际URL


在锚文本中,
而不是


我希望这个答案对您有用。

您可以随时将PHP文件重写为不包含.PHP后缀。谢谢,先生,我将该代码添加到了我的.htaccess中,现在当我在浏览器上键入mysite.com/shop.PHP时,它会自动重定向到mysite.com/shop,就像我想要的那样。然而,我不明白rel=“canonical”的用法。假设我在我的shop.php文件中,我必须添加到文档的头部还是?谢谢你的回答,应该是
,因为它会将你重定向到。我想你不会希望机器人进入循环@LuiscriOkei,我会把它添加到我网站上的每个文件中。我发现,通过这些更改,我添加的联系人表单已停止工作。当您单击submit按钮时,它会使用action=“submit.php”函数,如果我尝试发送消息,这似乎是一个问题,因为邮件不会发送。它一直在工作,直到我用你给我的更改了.htaccess,我需要做什么?它不工作,因为你的/submit.php会将它重定向到/submit,重定向后,你的
$\u POST
变量将为空。要删除此错误,请使用
action=“submit”
而不是
action=“submit.php”
!谢谢你的时间,先生,我还以为会有更难解决的问题呢。我在访问我的站点时发现的最后一件事是,我有和锚定谁重定向到一个特定的元素,以这种方式标记了和id

## hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} \s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
<link rel="canonical" href="http://example.com/" />