努力使用htaccess重写URL

时间:2018-03-04 12:09:48

标签: .htaccess

我是htaccess的新手,已经有一个月了,因为我正在尝试重写这个网址,但没有运气。尝试在互联网上搜索了很多,并尝试了一种适用于其他人的方法,但遗憾的是没有为我工作。

我的动态网页的hta​​ccess规则有效,例如site/index.php?viewpage=application显示为site/application

我正在努力做的是,我正在尝试重写以下网址:site/application?name=abcd&date1-2-3&version=5.0site/application/abcd/1-2-3/5.0

这是我的htaccess代码

Options +FollowSymLinks -MultiViews

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?viewpage=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /application?name=$1&date=$2&version=$3 [L]

1 个答案:

答案 0 :(得分:0)

试试这个:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} !name
RewriteRule ^([^/]+)$ index.php?viewpage=$1  [L]
RewriteRule ^(.+)/(.+)/(.+)/(.+)$  /$1?name=$2&date$3&version=$4 [L]

如果您希望仅使用应用程序限制最后一行,请替换为:

RewriteRule ^application/(.+)/(.+)/(.+)$  /application?name=$1&date$2&version=$3 [L]

更新代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} !name
RewriteRule ^([^/]+)$ index.php?viewpage=$1  [L]
RewriteRule ^(.+)/(.+)/(.+)/(.+)$  index.php?viewpage=$1?name=$2&date$3&version=$4 [L,NE]