使用htaccess for url使用cPanel临时url重写

时间:2011-09-09 22:57:57

标签: .htaccess mod-rewrite apache2

我们准备推出新网站。所有开发都是在一个单独的子域(cli.company.com)上完成的,我们正在使用htaccess命令来清理URL,这一切都运行正常。 HTACCESS代码如下:

RewriteEngine on

RewriteRule ^page/([^/\.]+)/?$ page.php?page=$1 [L]
RewriteRule ^([^/\.]+)/?/([^/\.]+)/?$ page.php?theme=$1&pg=$2 [L]

RewriteRule ^([^/\.]+)/?$ page.php?theme=$1&pg=$1 [L]
RewriteRule ^([^/\.]+)/?/$ page.php?theme=$1&pg=$1 [L]

所以,那里一切都很好&在开发网站上运行正常。问题是我们现在准备切换到实时域,并且客户端有一个当前站点,因此我们同时移动托管。在我们的服务器上,域已设置,所有文件都准备就绪。 cPanel给我们的临时URL看起来像这样:http://00.00.000.000/~cli/_clientsite.com/

该网站的主页在最终测试中表现不错,因为它不依赖于网址重写,但是内部页面出现了404错误,我认为这是因为重写规则没有正确进行测试。

我只需要这个就可以用于测试,因为我们无法负担这个并不能正常工作。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

在RewriteCond行之前,添加一个RewriteBase行,如下所示:

RewriteEngine on
RewriteBase /~cli/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Options All -Indexes