我试图使用.htaccess重写URL并从URL中删除扩展名.htm,.php和.html,并强制重定向, : http://mydomain.com/example.php会重定向到http://mydomain.com/example http://mydomain.com/example-two.html会重定向到http://mydomain.com/example-two http://mydomain.com/example也将没有任何问题的工作 http://mydomain.com/example-two.txt(用于刷新一些通过AJAX的内容)将被重定向到http://mydomain.com/example-two隐藏文件扩展名并强制使用.htaccess强制重定向到无扩展名的网址
尝试和努力后到处阅读,th Ë最近我去了这一点:
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([a-zA-Z/-]+)\.(htm|html|php)$ http://mydomain.com/$1 [R=301]
但它仍然给了我一个300 Multilple选择的消息,也当没有多项选择(的index.html)
我也想尝试第一次检查在服务器上的文件的存在,之前重命名文件,并在文件丢失的情况下,提供的自定义错误页,但我尝试这样做,它只是没有工作:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.php -f [OR]
RewriteCond %{REQUEST_FILENAME}\.htm(l)? -f
RewriteRule ^([a-zA-Z/-]+)\.(html|php)$ http://mydomain.com/$1 [R=301]
ErrorDocument 404 /error.htm
非常感谢您提前任何帮助/建议
编辑: 它可能来自服务器设置(我有网站托管在“虚拟主机”网站)?
我刚刚尝试过,但没有重定向,因此当我访问http://mydomain.com/example.php或http://mydomain.com/example-two.html时,URL保持不变重定向,当我尝试http://mydomain.com/example我得到300多选择消息(即使只有在服务器上的example.php文件) – 2012-02-05 20:39:27
我不认为我理解你的问题。哪些文件实际存在以及应该以什么名称引用? – nachito 2012-02-05 20:41:39
example.php和example-two.html和example.txt存在于服务器上,我希望htaccess隐藏扩展名,以便用户不知道哪个文件是.html,.php或.txt文件 – 2012-02-05 20:43:45