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
對不起,我犯了一個錯誤。你可以看到我編輯的答案 –