如何通过php网站的.htaccess代码创建SEO友好的URL

问题描述 投票:0回答:1

我必须将我的网站的 URL 设为 SEO 友好的 URL,我尝试了一些 .htaccess 代码,但没有成功。目前我网站的网址是这样的:- https://www.sarkariresultz.net/postview.php?id=latest-jobs/sbi-specialist-officers-so-various-post-recruitment-2024 但我希望该网站的网址是这样的:https://www.sarkariresultz.net/latest-jobs/sbi-specialist-officers-so-various-post-recruitment-2024

RewriteEngine On
Rewritecond %{REQUEST_FILENAME} !-d
Rewritecond %{REQUEST_FILENAME}\.php-f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^post/([0-9]+)$ postview.php?id=$1 [L,QSA]
.htaccess url-rewriting
1个回答
0
投票

这将是您可能寻找的一般形式:

RewriteEngine On
Rewritecond %{REQUEST_FILENAME} !-d
Rewritecond %{REQUEST_FILENAME} !-f
RewriteRule ^/?(.+)/?$ /postview.php?id=$1 [L]

这将重写任何传入的请求直接指向脚本的现有文件或文件夹

postview.php
并将实际请求的路径作为HTTP GET参数“id”。

这样的规则可以在中央http服务器的主机配置中实现。或者,如果您无权访问该功能,则可以使用分布式配置文件(通常称为“.htaccess”),如果在中央配置中启用了该功能。此类文件需要可供 http 服务器进程读取,并且必须位于为您的 http 主机配置为

DocumentRoot
的文件夹中。

也许您还想添加一条规则,以将请求旧的现有 URL 方案的客户端外部重定向到您建议的新方案。所以像这样的组合:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^id=(.+)$
RewriteRule ^/?postview\.php$ /%1 [R=301,L]

Rewritecond %{REQUEST_FILENAME} !-d
Rewritecond %{REQUEST_FILENAME} !-f
RewriteRule ^/?(.+)/?$ /postview.php?id=$1 [L]

您可能需要实施该一般规则的例外情况。我们不能说。如果是这样,那么您需要在一般规则之前实施例外规则,因此在该文件中更靠前。

© www.soinside.com 2019 - 2024. All rights reserved.