如何排除GET变量并重写为重定向URL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何排除GET变量并重写为重定向URL相关的知识,希望对你有一定的参考价值。
我想将test.com/folder/create
重定向到test.com/folder/create(.php)
但是在/folder/
之后的任何东西被认为是$_GET[]
变量,下面的行
RewriteCond %{REQUEST_URI} !^/folder/index.php$ [NC]
RewriteRule ^folder/([^/]*)$ /folder/index.php?type=$1
我试过了
RewriteCond %{REQUEST_URI} !^/folder/create.php$ [NC]
RewriteRule ^folder/create$ /folder/create.php
但没有运气(错误500),任何人都可以指出我在如何做到这一点的正确方向?
编辑:仍然试图在网上搜索答案,没有运气
编辑:小编辑,当前代码
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} !^item.php$
RewriteRule ^([^/]+)/?$ index.php?type=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?type=$1&page=$2 [L,QSA]
RewriteRule ^item/([^/]+)/?$ item.php?id=$1 [L,QSA]
RewriteRule ^item/([^/]+)/([^/]+)/?$ item.php?id=$1&page=$2 [L,QSA]
重写基础是/ folder / /文件夹/项目工作,并重定向到item.php /文件夹/项目/ 2给出500错误,任何建议?
答案
您可以在folder/.htaccess
中使用这些规则(不在站点根目录.htaccess中):
DirectoryIndex index.php
RewriteEngine On
RewriteBase /folder/
# append .php extension to every request that has a corresponding .php file
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
# rewrite all non-existing files and folders to index,php?type=...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .+ index.php?type=$0 [L,QSA]
另一答案
只试用:
Options -MultiViews
RewriteRule ^folder/create$ folder/create.php
以上是关于如何排除GET变量并重写为重定向URL的主要内容,如果未能解决你的问题,请参考以下文章