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

时间:2011-01-30 20:10:34

标签: .htaccess

我在.htaccess文件中使用以下命令从我的网页上的网址中删除.php扩展名。使用的代码可在this问题中找到。

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

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

2 个答案:

答案 0 :(得分:0)

我认为它只是一遍又一遍地重新处理规则(因为它仍然匹配两个RewriteConds,即使已经应用了规则)

所以,你只需要在REQUEST_URI上输入'否定匹配',然后在RewriteRule上输入[L],以确保。

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

HTH

答案 1 :(得分:0)

如果你只是重复mydomain而不是mydomain.com我的直觉是它与托管有关。