如何从友好的URL-Modx中删除.html?
我使用的是MODX Revolution 2.2.4-pl。我使用的是提供的.htaccess文件,并且打开了友好的URL。这是我的重写规则如何从友好的URL-Modx中删除.html?,html,.htaccess,modx,modx-revolution,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] 要让它从URL中删除.HTML,它们需要什么样的外观 在过去的二十分钟里,我一直在用谷歌搜索这个问题,但我的解决方案没有奏效。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
要让它从URL中删除.HTML,它们需要什么样的外观
在过去的二十分钟里,我一直在用谷歌搜索这个问题,但我的解决方案没有奏效。
谢谢首先,我认为您需要了解这个.htaccess试图做什么 它试图将进入站点的所有请求重定向到位于index.php的前端控制器,这些请求不针对实际文件或目录(即图像、css或其他可能不属于“主”网站的脚本) 如果您试图在站点上使用一堆*.html文件(而不是前端控制器),但让它们使用干净的URL,那么您需要使用不同的重写方式。可能更像
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [L,QSA]
此规则将以的形式接收请求,并使其以静默方式指向服务请求。这对我来说很有用:
# 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]
有一种更简单的内置方式。登录到管理器 MODX革命 2.2.x及更早版本:转到
系统->内容类型
2.3.x及更高版本:转到内容->内容类型
查找HTML并删除“文件扩展名”中写入的内容。您可以通过双击表中的.html
来激活可编辑字段。擦除内容后,清除缓存
MODX演进
转到工具->配置->友好URL
删除“友好URL后缀”中的内容。保存并清除缓存。+1这是“MODX方式”:比.htaccess解决方案更高效,允许“直接”访问资源,而不是每次请求都进行重写。如果存在指向以.html结尾的页面的外部链接,那么最好也使用重写规则。我同意。这是一种简单的方法,没有复杂的.htaccess规则。没问题![虽然如果记忆有用,我也是从stackexchange的问题中得到的:)]