php - 使用 .htaccess 文件删除 PHP 扩展时出现 500 内部服务器错误
问题描述
我正在尝试访问我的网站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 - TCPDF - 删除 2 个表之间的空间 (PHP)
- python - 如何在 python alexa 中使用 AMAZON.Repeat Intent?
- vba - 将第一个列表的每个元素与第二个列表的所有元素进行比较以找到匹配项
- ethereum - 无法在 BSC MAIN NET 上验证合约源代码。“发生错误异常 err_code_1:错误 - 无法连接到远程服务器”
- java - 需要帮助是使用 maven 配置文件排除包含 junits 的包
- timer - ST32CubeMx 配置的一种脉冲模式
- mongodb - 较旧的 oplog 条目不会被截断
- android - RecyclerView:没有附加适配器;在显示移动联系人的片段中跳过布局
- tableau-api - 如何忽略画面中的聚合和非聚合错误?
- java - 有没有办法将多种方法减少为一种方法,使用 Function作为方法参数?