2013-04-08 68 views
-1

我在这里有点合适。我正在涉足大量的.htaccess文件,以便将我的网址重写为易于搜索引擎优化。mod_rewrite问题或者我的服务器可能是问题?

我一直在研究这一整天。我从各种教程和SO帖子中获取代码片段,但没有得到任何结果,大部分时间都没有发生错误。

我有一个运行Apache 2.0的cPanel专用服务器。我打电话给我的主机LunarPages,并确认已安装mod_rewrite,它显然工作正常。

,我想开始正在改变index.php名称/home/http://www,website.com/home/作出最后的斜线可选以及家庭是不区分大小写。从字面上看,我所做的一切都是无所作为,就好像请求被完全忽略了一样。

我正在我的PC上的记事本中写入.htaccess文件,并使用传输类型设置为ASCII的FileZilla将其上传。

回答

1

,我想开始正在改变index.php名称/home/http://www,website.com/home/作出最后的斜线可选以及家庭是不区分大小写。

尝试:

RewriteRule ^/?home/?$ /index.php [L,NC] 

请注意,如果您有任何相关链接(如到脚本或CSS)在index.php你去http://www,website.com/home/,相对链接将有/home作为基础(而不是/)。并且您需要将这些链接设置为绝对路径或将URI基础添加到页眉:

<base href="/"> 
+0

非常感谢您的好评。所以我的服务器端必须有一些东西,因为你提供的代码并没有将URL改为'http:// www.website.com/home /'它仍然以'/ index.php'结尾我应该看什么在服务器端? – mileaminute 2013-04-08 23:26:45

+0

@mileaminute上面的代码使得它在浏览器的URL地址栏中输入** http://www,website.com/home/'**,并且'/ home /'的请求到达Web服务器,然后上面的规则将其重写为'/ index.php'。这对于改变客户端上的内容没有任何作用,这是一个服务器端的事情。如果你想在你的浏览器的地址栏中看到你的URL看起来像'http:// www.website.com/home /',请确保你创建的链接看起来像'http://www.website.com/home/ '和**不** ** http:// www.website.com/index.php' – 2013-04-08 23:33:13

+0

谢谢你的澄清,是的,我看到的作品!你的回答很简洁,并且很好解释。我不能够感谢你! – mileaminute 2013-04-09 00:13:45