2015-06-02 167 views
1

我从来没有擅长.htaccess,我试图复制和粘贴一些在我的另一个域上工作的代码,并修改它在这里工作。我将有几个重写的URL,一些是静态的,一些是动态的,但我甚至无法让它们中最简单的工作。这一个是可测试的:http://lindseymotors.com/home.htaccess URL Rewrite无法正常工作

显然,index.php是可用的,因为如果你访问http://lindseymotors.com它的作品。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^.* [NC] 

RewriteRule ^home$ index.php 
RewriteRule ^home/$ index.php 
# When answering, if you could write a statement that would combine 
# both of the statements above into one that would be appreciated. 

正如我所说,这些相同的条件工作在另一个我的域名,因为我复制了代码权利。我让我的服务器管理员仔细检查他的一切,这很好。有任何想法吗?

回答

2

我唯一能想到的就是确保.htaccess的使用真正开启。你可以检查最简单的方法,因为你的服务器管理员说没关系,把随机文本放在你的.htaccess文件的顶部。如果正在读取.htaccess文件并启用.htaccess文件,它应该会引发500 internal server error。如果没有,那么他们没有启用.htaccess文件,并且需要将AllowOverride All添加到Apache配置虚拟主机。

这是你的规则合并成一个你注意到的。你真的不需要RewriteCond,但我会离开你以前使用它。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^.* [NC] 
RewriteRule ^home/?$ index.php [L] 
+0

谢谢。我在文件顶部添加了一堆随机字符,并且仍然可以使用正确的.php URL访问页面。我想这意味着它是一个AllowOverride问题? – SISYN

+0

是.htaccess肯定没有启用您的域名/虚拟主机。这需要在您的服务器Apache配置中更改为'AllowOverride All' –

+0

谢谢。我的服务器管理员有一个错字,他有“lindsay”而不是“lindsey”。谢谢你抛出这个提示,以确保它实际上是服务器的问题。 – SISYN