htaccess扩展重写规则是工作与域名,但不工作与IP显示错误404


htaccess extension rewrite rule is working with Domain name but not working with IP showing error 404

RewriteEngine on
RewriteRule ^(.*)'.txt$ $1.php

这是重写规则,我使用到我的网站的特定目录http://xxx.yyy.zz.aa/~nishant/directory/.htaccess

将所有。php扩展名更改为。txt

当我查看目录文件时:
Http://www.mysite.com/directory/order.txt(它正在工作)但是
http://xxx.yyy.zz.aa/~nishant/directory/order.txt(不工作)

你认为问题是什么,正确的解决办法是什么?

这可能是由于您的'VirtualHost' -配置:/etc/apache2/sites-available/…
详细地说,查找'AllowOverride…'VirtualHost xxx.yyy.zz. 'aa:80'或'VirtualHost *:80'

可能缺少以下语句:

<Directory /home/*>
    AllowOverride FileInfo Options
</Directory>

或:

<Directory /home/nishant>
    AllowOverride FileInfo Options
</Directory>

你至少需要'FileInfo'的mod_rewrite工作
mod_rewrite不需要'Options',但如果你使用。htaccess,通常需要'Options'。
http://httpd.apache.org/docs/2.2/en/mod/core.html allowoverride