我正在处理我的项目,现在我想将它从localhost传输到服务器。一切似乎工作正常,但.htaccess不起作用。
服务器应该支持mod_rewrite和print_r(apache_get_modules());显示mod_rewrite正在运行。
但是,当我输入myaddress.com/contact时,它会显示错误404。
这是.htaccess文件,但应该没问题,因为它在我的localhost上运行:
RewriteEngine on
RewriteRule ^adminator/?$ adminator/login.php [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&detail=$2 [L]
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]
你有什么想法吗?
谢谢,迈克。
答案 0 :(得分:0)
服务器是否允许.htaccess?它并非真的必须。
尝试其他指令,询问您的托管服务提供商,或者尽可能自行检查配置。
答案 1 :(得分:0)
我尝试测试你的规则,他们应该在网址上很好,例如:http://myhost.com/test1和http://myhost.com/test1/test2会导致请求网址:index.php?page = test1和index.php?page = test1& detail = TEST2
所以问题不是你的规则,而是你的服务器设置。正如Mewp所说检查您的Apache配置文件,查找应该为.htaccess文件启用的AllowOverride以覆盖默认设置。
答案 2 :(得分:0)
好的,修好了..在托管设置的深处,有一个选项可以激活它..但我在4个小时的环顾四周后找到了它:P