Mod重写根本不起作用(phtml / php)

时间:2012-08-02 22:26:45

标签: .htaccess mod-rewrite hosting php

在我的网站上遇到.htaccess的一些问题。我试图改变我网站的URL后缀。网址目前显示为:

www.example.com/about.phtml

我想删除about.phtml并将其替换为about,如下所示:

www.example.com/about

我使用的示例并不是我在网站上所需要的,因此我希望我不需要通过的代码,并指定将其删除的特定页面,而不是自动执行

我尝试过使用php代替phtml而没有运气。这是我正在使用的代码:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.phtml -f
RewriteRule ^(.*)$ $1.phtml

我在这里做错了什么想法?

仅供参考:我的主持人是JustHost他们允许我编辑我的.htaccess但是如果有人听说过或者有任何问题请告诉我,我跟他们的技术支持人员说话,他们无法帮助我我可以帮助自己。

3 个答案:

答案 0 :(得分:2)

这对我有用:

RewriteEngine on
RewriteRule ^/?([a-z]+)$ $1.phtml [L]

答案 1 :(得分:2)

试试这个:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.phtml [NC,L]

答案 2 :(得分:2)

您可以先在apache \ conf \ httpd.conf文件中检查您的重写模式是否开启

检查httpd.conf文件中的以下代码

#LoadModule rewrite_module modules/mod_rewrite.so

如果哈希存在于行上方,则删除哈希并重新启动apache服务器

之后,您可以在cakephp httaccess文件中设置以下代码

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.phtml -f
    RewriteRule ^(.*)$ $1.phtml [NC,L]
</IfModule>