使用.htaccess从url中删除参数

时间:2015-12-01 14:48:28

标签: apache .htaccess url mod-rewrite redirect

我想从网址

中删除参数

我需要改变这个:

http://example.com/?page=about

对此:

http://example.com/about

如何?

这是我的.htaccess文件:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]

2 个答案:

答案 0 :(得分:1)

在htaccess中尝试以下内容:

RewriteEngine On

#Remove php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)/?$ /$1.php [NC,L]
#rewrite /about to /?page=about    
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /?page=$1 [NC,L] 

这将重写

 /about

 /?page=about

答案 1 :(得分:0)

试试这个:

RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1 [QSA,L]
相关问题