如何优化php页面以在搜索结果中包含用户个人资料页面?

时间:2014-01-02 11:57:36

标签: php regex .htaccess mod-rewrite

我不知道如何优化我的profile.php页面以将其包含在搜索结果中。我也尝试包括元描述但没有发生任何事情。

我在其他地方问了同样的问题,但他们说这肯定是因为你的.htaccess文件。

这是我的.htaccess文件:

Options +Indexes
# or #
IndexIgnore *
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9._-]+)$ profile.php?u=$1 
RewriteRule ^([a-zA-Z0-9._-]+)/$ profile.php?u=$1
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

1 个答案:

答案 0 :(得分:1)

实际上你的规则不正确。

  1. 一般情况下,在内部重写之前应该有301条规则。
  2. 您不需要单独的规则来追踪斜杠。
  3. 您的2次重写条件不适用于第二次重写规则。
  4. 请尝试以下规则:

    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTPS}s ^on(s)|
    RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([a-zA-Z0-9._-]+)/?$ profile.php?u=$1 [L,QSA]