我如何从index.php htaccess中删除参数

时间:2015-09-04 08:19:22

标签: php .htaccess

我的htaccess代码有问题,问题是我不知道如何显示index.php的代码,  我正在使用的代码是

RewriteEngine On
  RewriteRule ^Page/([^/]*)$ /Page.php?v=$1 [L]

我的输出链接是www.expample.com/Page/1

上面的代码除了索引页

之外的所有东西都在工作

我现在需要做的是

index.php而不是Page.php

我试过这种方式

       RewriteRule ^/([^/]*)$ /index.php?v=$1 [L]

但它也无法正常工作

我现在需要的输出是从

转换链接

www.example.com/index.php?v=1www.example.com/1

4 个答案:

答案 0 :(得分:2)

对于第二个index.php规则,您需要使用RewriteCond来避免重写文件或目录:

Options -MultiViews
RewriteEngine On

RewriteRule ^Page/([^/]*)$ Page.php?v=$1 [L,QSA,NC]

# if request is not for a file
RewriteCond %{REQUEST_FILENAME} !-d
# if request is not for a directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?v=$1 [L,QSA]

答案 1 :(得分:0)

试试这个

RewriteRule ^ 1 /?$ index.php?v = 1 [QSA,L]

我认为你不应该使用/index.php尝试index.php

答案 2 :(得分:0)

您可以使用以下规则重写index.php

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

答案 3 :(得分:0)

尝试这样的事情:

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

那应该处理/index.php的任何位置。