.htaccess Mod rewrite根本不起作用(phtml/php)

.htaccess Mod rewrite根本不起作用(phtml/php),.htaccess,mod-rewrite,hosting,php,.htaccess,Mod Rewrite,Hosting,Php,我的网站上的.htaccess存在一些问题。我正在尝试更改我的网站的URL后缀。URL当前显示为: www.example.com/about.phtml 我想删除about.phtml并将其替换为about,使其看起来像: www.example.com/about 我使用的示例不是我在网站上需要的,所以我希望代码不必经过,并指定要从哪个特定页面删除它,而是自动完成 我尝试过使用php而不是phtml,但运气不好。以下是我正在使用的代码: RewriteEngine on RewriteC

我的网站上的.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
RewriteRule ^/?([a-z]+)$ $1.phtml [L]
这对我很有用:

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

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

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

您可以首先在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>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}\.phtml-f
重写规则^(.*)$$1.phtml[NC,L]

您可以首先在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>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
RewriteCond%{REQUEST_FILENAME}\.phtml-f
重写规则^(.*)$$1.phtml[NC,L]

那么当您转到
http://www.example.com/about
?什么都没发生?不起作用已经尝试过了。那么当你转到
http://www.example.com/about
?什么都没发生?不起作用。已经试过了。好的,现在用这个它也起作用了!谢谢,我不知道该保留哪个以及为什么。这个答案不如上面接受的版本健壮,上面的版本会在重写url之前检查有效的文件名或目录。我会用那个。好的,现在用这个也行了!谢谢,我不知道该保留哪个以及为什么。这个答案不如上面接受的版本健壮,上面的版本会在重写url之前检查有效的文件名或目录。我会用那个。