[英]Getting 500 Internal Server Error when using .htaccess file to remove PHP extension
我試圖訪問我網站https://lordmanadventures.com/viewblog/1的博客部分,但我不斷收到 500 內部服務器錯誤。 我認為問題出在我的 .htaccess 文件上。 奇怪的是,如果我將 url 更改為此https://lordmanadventures.com/viewblog.php/1 ,它可以工作。 下面是我的 .htaccess。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
RewriteRule ^([a-zA-Z0-9_-]+)$ viewblog.php?blog-id=$1 [L,QSA]
我瀏覽了各種站點和解決方案,但似乎無法使其正常工作。 任何幫助表示贊賞。
好的,我終於讓它工作了。 規則從上到下的排列方式似乎很重要。 我從底部刪除了博客的重寫規則,然后添加了頁面名稱。 然后將@SJacks 刪除擴展名的答案移至底部等瞧!
# Start rewrite rules
RewriteEngine on
RewriteBase /
# Blog
RewriteRule ^viewblog/([a-zA-Z0-9_-]+)$ viewblog.php?blog-id=$1 [L]
# Remove php extension
rewritecond %{SCRIPT_FILENAME}.php -f
rewriterule [^/]$ %{REQUEST_URI}.php [QSA,L]
rewriterule ^(.*)/$ $1 [R=301,L]
謝謝各位幫忙。 非常感激。
以下是正確刪除 PHP 擴展的方法。 在此特定頁面重寫之后可以進行。 我沒有包含任何內容,因為這應該可以解決您的問題。 讓我知道你是怎么辦的。
# Start rewrite rules
RewriteEngine on
RewriteBase /
# Remove php extension
rewritecond %{SCRIPT_FILENAME}.php -f
rewriterule [^/]$ %{REQUEST_URI}.php [QSA,L]
rewriterule ^(.*)/$ $1 [R=301,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.