我试图访问我的网站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]我看过各种网站和解决方案,但似乎不能让它工作。任何帮助都是非常感谢的。
发布于 2019-11-14 01:09:23
好了,我终于把它弄好了。似乎规则从上到下的排列方式很重要。我从底部删除了博客的重写规则,然后添加了页面名称。然后移动了@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]谢谢你的助手们。非常感谢。
发布于 2019-11-13 20:57:38
下面是如何正确删除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]https://stackoverflow.com/questions/58834634
复制相似问题