如何从Friendly URL - Modx中删除.html?

时间:2012-09-04 16:54:24

标签: html .htaccess modx modx-revolution

我正在使用MODX Revolution 2.2.4-pl。我正在使用提供的.htaccess文件,并打开了友好的URL。这些是我的重写规则。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

他们需要从网址中删除.HTML才能看到什么?

过去二十分钟我一直在谷歌上搜索,我的解决方案没有奏效。 感谢

3 个答案:

答案 0 :(得分:25)

内置方式更容易。登录管理器。

MODX革命

2.2.x及更早版本:转到System -> Content Types

2.3.x及更高版本:转到Content -> Content Types

查找HTML并删除“文件扩展名”中写入的内容。您可以通过双击表格中的.html来激活可编辑字段。删除内容后,清除缓存。

MODX Evolution

转到Tools -> Configuration -> Friendly URLs

删除“友情网址后缀”中的内容。保存并清除缓存。

答案 1 :(得分:3)

这对我有用:

# The Friendly URLs part
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
#RewriteRule . /index.php [L]

答案 2 :(得分:1)

首先,我认为你需要了解这个.htaccess试图做什么。

尝试将进入站点的所有不是实际文件或目录的请求(即图像,css或其他可能不属于“主”网站的脚本)重定向到前端控制器位于index.php。

如果您要做的是在您的网站上使用一堆* .html文件(而不是前端控制器),但让他们使用干净的URL,那么您将需要使用不同类型的重写。可能更像是

RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [L,QSA]

此规则会以http://domain.com/somepage的形式接受请求,并默默指向http://domain.com/somepage.html以提供请求。