从网址工作中移除.php扩展但seo友好网址无法正常工作

时间:2016-12-16 05:29:16

标签: php .htaccess url-rewriting

我想使用.htaccess制作seo友好的网址。

我想转换下面的网址

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

http://localhost/projectname/pagename/1

我已经为此尝试了解决方案

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

但它不起作用

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

How to write htaccess rewrite rule for seo friendly url

Creating SEO friendly urls using htaccess

.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文件,我可以从网址中删除.php扩展名,但不能生成seo友好网址。

提前多多谢谢你。

1 个答案:

答案 0 :(得分:0)

你的规则末尾有一个斜线,所以你必须去:

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

或将规则更改为:

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