将blog-detail.php / {slug}的URL重写为blog-detail / {slug}

时间:2020-04-21 10:24:34

标签: php .htaccess indexing url-rewriting seo

我已经成功地将www.my-website / blog.php重写为www.my-website / blog

现在,我想对我的blog-detail.php页面做进一步的事情 从www.my-website / blog-detail.php / how-seo-works到www.my-website / blog-detail / how-seo-works

' how-seo-works '是我的,它可以取决于文章标题

当我尝试 www.my-website / blog-detail / how-seo-works 错误是内部服务器错误

这是我的htaccess:

# Run Php without filename extension
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

# Return 404 if original request is .php
RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]

错误出现在网站上:

内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。

请通过you@example.com与服务器管理员联系,以告知他们该错误发生的时间以及在该错误发生之前您执行的操作。

有关此错误的更多信息,可在服务器错误日志中找到。

此外,尝试使用ErrorDocument处理请求时遇到了500 Internal Server Error错误。

错误日志中的

: AH00124:由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用'LimitInternalRecursion'增加限制。使用“ LogLevel调试”获取回溯。引荐来源:http://localhost:8080/my-website/blog

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

因此,这是我修改后的.htaccess文件,用于访问my-website / blog-detail / how-seo-work

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^blog-detail/([0-9a-zA-Z-]+) blog-detail.php?id=$1 [L,QSA]

RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]