使用.htaccess删除.php时名称重复

使用.htaccess删除.php时名称重复,.htaccess,.htaccess,我在.htaccess文件中使用以下命令从我页面的url中删除.php扩展名。使用的代码有问题 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php 当我在我的浏览器中键入mydomain.com/page进行测试时,它会复制我的域名并返回mydomain.com/mydomain/page,最终返回404

我在.htaccess文件中使用以下命令从我页面的url中删除.php扩展名。使用的代码有问题

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

当我在我的浏览器中键入mydomain.com/page进行测试时,它会复制我的域名并返回mydomain.com/mydomain/page,最终返回404错误。我做错了什么?如果有帮助的话,这个网站是托管在Hostmonster.com上的。

我认为它只是一次又一次地重新处理规则(因为即使在应用规则之后,它仍然匹配这两个重写条件)

因此,您只需要在请求_URI上输入一个“负匹配”,然后在重写规则上输入一个[L],以防万一

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^(.*)$ $1.php [L]

hth

如果您只是重复了mydomain而不是mydomain.com,我的直觉是这与主机有关。

谢谢您的回复,但我仍然得到了相同的结果。