具有以下结构
/pages/yslugi.php
/ pages /
/
我想使用www和https进行重定向,在结尾处删除URL中的文件扩展名,但不应使用扩展名打开路径。 示例:https://site.ru/yslugi,但是https://site.ru/yslugi.php应该与URL相交或找到并删除页面文件夹。
这似乎是一个简单的任务,我单独找到了解决方法
RewriteCond% {DOCUMENT_ROOT} / pages / $ 1 -f
RewriteRule ^ (. *) $ Pages / $ 1 [L, QSA]
RewriteCond% {SERVER_PORT}! ^ 443 $
RewriteRule. * Https: //% {SERVER_NAME}% {REQUEST_URI} [R = 301, L]
RewriteCond% {HTTP_HOST} ^ www.site.ru $ [NC]
RewriteRule ^ (. *) $ Https://site.ru/$1 [R = 301, L]
但是总的来说不起作用,我没有找到用于关闭扩展名路径的解决方案(当两个选项都起作用时我找到了一个选项)。
如果有人可以解决此问题,我将不胜感激。
不禁要关闭
RewriteCond %{THE_REQUEST} ^[^?]+\.php [OR]
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*?)(\.php|$) https://site.ru/$1 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ pages/$1.php [L]