从URL工作中删除.php扩展,但SEO友好的URL无法正常工作



我想使用.htaccess进行SEO友好URL。

我想在url下方转换

http://localhost/projectname/pagename.php?id=1

to

http://localhost/projectname/pagename/1

我已经尝试了此

的解决方案
RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1

但是它不起作用

我还提到了下面的链接,但没有给我正确的解决方案

如何为SEO友好URL撰写HTACCESS重写规则

使用htaccess创建SEO友好URL

.htaccess文件

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
 RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

使用上述HTACCESS文件,我可以从URL中删除.php扩展,但不能生成SEO友好URL。

非常感谢您。

您在规则的末尾有斜线,因此您必须去:

http://localhost/projectname/pagename/1/

或将规则更改为:

RewriteRule ^pagename/([a-zA-Z0-9]+)$ projectname/pagename.php?id=$1

最新更新