htaccess中的PHP重写url必须指向其他url

时间:2016-07-06 06:22:32

标签: php .htaccess url url-rewriting

我想通过使用.htaccess重写

重写一些网址

我的网址是这样的:

domain.com/index?/pid=10550

并想要重写用户 domain.com/index.php?pid=10550

那么,用户将在后端访问该网址

会发生什么

我是php的新手并且已经阅读了一些像这样没有运气的博客

另外,我试过这个

Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^domain.com/index?/$ /domain.com/index.php? [L]

它说该页面没有正确重定向 有时候会给我一个目录

1 个答案:

答案 0 :(得分:0)

您无法在RewriteRule模式中与查询字符串匹配。您必须使用RewriteCond匹配{THE_REQUEST}变量(客户端发送到服务器的完整请求行)

RewriteEngine on
#Remove .php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]
#redirect /index.php/?pid=123 to /index.php?pid=123 
RewriteCond %{THE_REQUEST} /index\.php/\?pid=([^\s]+) [NC]
RewriteRule ^ /index?pid=%1 [L,R]

这会将/index.php/?pid=123重定向到/index.php?pid=123