【问题标题】:Problems facing in making urls seo friendly and removing extensions from files in PHP使 url seo 友好并从 PHP 文件中删除扩展名时面临的问题
【发布时间】:2015-01-29 05:24:42
【问题描述】:

我在使 url seo 友好和从 php 文件中删除扩展名方面遇到问题。如果我使用其中一个删除扩展名或使 url 对 seo 友好,它可以正常工作,但如果我同时使用这两者,则只有 .htaccess 的上半部分适用于这两者。

我的 .htaccess 代码是

Options +FollowSymLinks    
Options -Multiviews    
RewriteEngine on    

RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule ^([^/.]+)/$ $1.php    
RewriteRule ^([^/.]+)/([^/.]+)/$ /$1/$2.php    
RewriteCond %{REQUEST_FILENAME} !-f    
RewriteCond %{REQUEST_FILENAME} !-d    
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$    
RewriteRule (.*)$ /$1/ [R=301,L]    

RewriteRule ^/([a-zA-Z0-9]+)/$ vendorlist.php?bcat=$1     
RewriteRule ^([^/.]+)/([^/.]+)/?$ /vendor.php?bcat=$1&vendor=$2     

如果我使用上面写的它,它只会删除扩展。如果使用 seo 友好的 url,它会给出错误 404。但是如果我像这样改变位置

Options +FollowSymLinks    
Options -Multiviews    
RewriteEngine on    

RewriteRule ^/([a-zA-Z0-9]+)/$ vendorlist.php?bcat=$1     
RewriteRule ^([^/.]+)/([^/.]+)/?$ /vendor.php?bcat=$1&vendor=$2     

RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule ^([^/.]+)/$ $1.php    
RewriteRule ^([^/.]+)/([^/.]+)/$ /$1/$2.php    
RewriteCond %{REQUEST_FILENAME} !-f    
RewriteCond %{REQUEST_FILENAME} !-d    
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$    
RewriteRule (.*)$ /$1/ [R=301,L]    

那么它只会使 url 对 SEO 友好。没有扩展删除工作。

请帮我解决这个问题,在此先感谢....

【问题讨论】:

    标签: php html .htaccess url seo


    【解决方案1】:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^([^/]+)/$ $1.php 
    
    # Forces a trailing slash to be added
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
    RewriteRule (.*)$ /$1/ [R=301,L]
    

    来源: - User:Dave/Web Hack Notes (Non-Wiki)#Prettier URLs Through .htaccess

    上面代码框中显示的示例只是一个建议。实际上值得阅读上面链接中的几个教程(指向我维护的 wiki 页面)。

    【讨论】:

      猜你喜欢
      • 2017-05-01
      • 2023-04-05
      • 2011-11-02
      • 2022-11-27
      • 2012-04-06
      • 2012-11-12
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多