2016-09-28 108 views
0

我想使用.htaccess重写我的网址。我的旧网址是http://gametesting.in/infocomstudios/gamedetails.php?id=2,我需要将其更改为以下http://gametesting.in/infocomstudios/demopage.html。在我的.htaccess中使用什么代码。我试着用下面的代码:如何编写.htaccess文件代码以将旧网址更改为新网址

RewriteCond %{QUERY_STRING} ^id=2$ 
RewriteRule ^gamedetails\.php demopage.html [L,R] 

但我得到了一个错误:

The requested URL /home/gamet/public_html/infocomstudios/demopage.html was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

而且我的新网址变为:http://gametesting.in/home/gamet/public_html/infocomstudios/demopage.html?id=2

请帮我解决这个问题。

+0

这是一个标准的404错误。服务器找不到新页面。可能需要处理?id = 2在html文件中不可接受。 – Linkan

+0

@Linkan感谢您的评论。但实际上我想重写我的url.so,因此不需要创建该html文件 – Aswathy

+0

规则编写的方式,您将发送给gamedetails.php?id = 2的人发送给demopage.html ,它必须存在才能工作。 – Linkan

回答

0

我刚刚调整你统治了一下保存路径和查询字符串:

RewriteCond %{QUERY_STRING} ^id=2$ 
RewriteRule ^(.*)gamedetails\.php(.*) $1demopage.html$2 [L,R] 

测试它的在线here

+0

Thanku @ copynpaste ..同时使用您的代码时发生了同样的错误。对于这个问题的其他解决方案?我第一次在.htaccess数据库中 – Aswathy

+0

啊不真的读这个错误。你确定该文件存在于这个位置吗?并且ServerUser(在Apache上的www-data)可以访问它? – danopz

+0

其实我没有名字的网页** demopage.html **当我打电话给这个** http://gametesting.in/infocomstudios/gamedetails.php?id=2 **然后只显示如下的url ** http ://gametesting.in/infocomstudios/demopage.html** – Aswathy

0

试试这个我没有测试它,请告诉我们,如果告诉我们,如果错误。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^infocomstudios/demopage.html$ infocom/gamedetails.php?id=2 [L]