3
我一直坚持这个很长一段时间。 我似乎无法让httpd.conf重写URL以添加https(如果未使用)并删除.php扩展名。 我可以上班,但不能同时上班。当index.php存在时,https://example.com/index会产生404错误。httpd.conf mod_rewrite HTTPS并删除PHP扩展
那么什么,我试图做的是将URL如example.com/index.php为https://example.com/index
如果我关掉力HTTPS规则,它的工作原理。
的httpd.conf:
RewriteEngine On
RewriteRule ^(.*)$ $1.php [QSA]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteRule $ https://example.com/ [L,R]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
我已经添加了多个规则,如:
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L]
和:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php
,但无济于事。
任何帮助将是伟大的。
感谢您的建议。不幸的是,我仍然得到同样的行为。如果我删除第一条规则(对于https),然后使用http,它可以工作。 404如果https。 – ojamer
对不起,我犯了一个错误。你可以看到我编辑的答案 –