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


Mod rewrite not working at all (phtml/php)

我的网站上有.htaccess的一些问题。我正在尝试更改我的网站URL的后缀。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,但如果有人听说过或有任何问题,请告诉我,我已经和他们的技术支持人员谈过了,他们帮不了我任何忙。

试试这个:

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

这对我有效:

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

您可以首先在apache''conf''httpd.conf文件中检查重写模式是否打开

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

#LoadModule rewrite_module modules/mod_rewrite.so

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

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

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