配置.htaccess以允许虚荣URL

时间:2014-11-28 13:15:42

标签: php .htaccess

我是一个htaccess文件,可以帮助我强制使用" www。",添加" https://"如果它已打开并删除" .php"从文件中添加一个尾随正斜杠" /"已经设置如下:

Options -Indexes

RewriteEngine On
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} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php [L]

RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php [L]

现在,我希望能够拥有虚荣网址。到目前为止,我有:

RewriteCond %{REQUEST_FILENAME} >""
RewriteRule ^([^\.]+)$ profile.php?user=$1 [L]</pre>

我如何一起使用所有这些?我尝试添加虚荣URL位,我开始得到500错误。

1 个答案:

答案 0 :(得分:1)

有这样的话:

Options -Indexes
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=302,L,NE]

# ignore files/directories from below rules
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

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

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^([^/]+)/$ $1.php [L]

RewriteCond %{DOCUMENT_ROOT}/$1/$2\.php -f [NC]
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^./]+)/?$ profile.php?user=$1 [L,QSA]
相关问题