1

在我的网站上遇到 .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,但如果有人听说过他们或对他们有任何问题,请告诉我,我与他们的技术支持人员交谈过,他们无法帮助我帮助自己。

4

3 回答 3

2

这对我有用:

RewriteEngine on
RewriteRule ^/?([a-z]+)$ $1.phtml [L]
于 2012-08-02T22:30:38.483 回答
2

试试这个 :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.phtml [NC,L]
于 2012-08-02T22:39:14.090 回答
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>
于 2012-08-02T22:45:54.243 回答