使用htacess隐藏索引并重写URL参数

时间:2015-08-14 08:23:06

标签: php apache .htaccess mod-rewrite url-rewriting

如何隐藏index.php并重写URL参数

http:example.com/www/index.php?page=admin&action=login

作为

http:example.com/www/admin/login

我使用下面提到的代码(Helped from URL)隐藏了index.php,这使得URL成为:

http:example.com/www/?page=admin&action=login

我的htaccess文件代码

  Options +FollowSymLinks -MultiViews
  # Turn mod_rewrite on
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?$1 [L,QSA]

  RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
  RewriteRule ^ %1 [R=301,L]

但我需要这样:

http:example.com/www/admin/login

如果有人知道,这将是一个很大的帮助。谢谢你

1 个答案:

答案 0 :(得分:0)

您可以在/www/.htaccess中使用这些规则:

DirectoryIndex index.php
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /www/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?page=$1&action=$2 [L,QSA]

RewriteRule ^(.+)$ index.php?$1 [L,QSA]