Php 在Cpanel上使用IP访问子页面

Php 在Cpanel上使用IP访问子页面,php,apache,http,.htaccess,cpanel,Php,Apache,Http,.htaccess,Cpanel,我有以下.htaccess文件,可以使用干净的URL访问基于PHP的站点 RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Rewrite

我有以下.htaccess文件,可以使用干净的URL访问基于PHP的站点

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
当我使用以下域访问站点时,此功能可以正常工作:

http://example.com/controller/action
但是,在Cpanel中使用基于IP的访问时,我无法访问子页面,如下所示

http://x.x.x.x/~example/controller/action
我从cpanel得到一个默认的404

请注意,我只能查看主页

http://x.x.x.x/~example

我想知道这是否与我的.htaccess有关?

这可能是一个您无法回避的服务器配置问题,假设您在共享框上使用cPanel。服务器将使用虚拟主机,并依赖您提供域名,以便它知道要服务的站点以及要处理的.htaccess文件。是的,它是共享框上的cpanel。嗯,我想访问它的唯一方法是通过域。可能有一种方法可以解决这个问题,但是你需要服务器提供商来设置它。为什么你需要这样做,尤其是?很显然,客户端希望在注册域之前看到使用IP的站点。我告诉他们只配置hosts文件。是的,这是我能想到的唯一剩下的方法。或者在您的开发服务器上演示它。。。