Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 修改重写问题。帮助_Mod Rewrite_Url Rewriting_Rewrite - Fatal编程技术网

Mod rewrite 修改重写问题。帮助

Mod rewrite 修改重写问题。帮助,mod-rewrite,url-rewriting,rewrite,Mod Rewrite,Url Rewriting,Rewrite,我试图建立一个基本的重写,但它不工作。我希望能够实现以下目标: http://www.example.com/view.php?page=1 改写为 http://www.example.com/view/1 我已经尝试了我能找到的一切,但似乎没有任何效果 谢谢你的帮助 更新: 这些似乎是工作,但我需要的网页被重定向,我宁愿不这样做。输出并不完全是我想要的,因为querystring仍然可见 output: http://www.example.com/view/1?page=1 Opti

我试图建立一个基本的重写,但它不工作。我希望能够实现以下目标:

http://www.example.com/view.php?page=1
改写为

http://www.example.com/view/1
我已经尝试了我能找到的一切,但似乎没有任何效果

谢谢你的帮助

更新: 这些似乎是工作,但我需要的网页被重定向,我宁愿不这样做。输出并不完全是我想要的,因为querystring仍然可见

output: http://www.example.com/view/1?page=1

Options +FollowSymLinks

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_URI} /view.php$
    RewriteCond %{QUERY_STRING} ^page=([A-Za-z0-9\+]+)$
    RewriteRule ^(.*)$ /view/%1 [R=301,QSA,L]
    RewriteRule ^view/(.*)$ /view.php?page=$1&a=1 [L]
</IfModule>
输出:http://www.example.com/view/1?page=1
选项+FollowSymLinks
重新启动发动机
重写基/
重写cond%{REQUEST_URI}/view.php$
重写cond%{QUERY_STRING}^page=([A-Za-z0-9\+]+)$
重写规则^(.*)$/view/%1[R=301,QSA,L]
重写规则^view/(.*)$/view.php?页面=$1&a=1[L]
试试这个:

RewriteEngine On

#rewriting rule to set last /
RewriteRule ^view/([0-9]+)$  /view/$1/ [QSA,R] 

#rewriting rule to pass $1 as page that is the first element inside (...)
RewriteRule ^view/([0-9]+)/$ view.php?page=$1
RewriteRule ^/view/([0-9]+)/?$ /view.php?page=$1
编辑:还要确保apache上的mod_rewrite模块已启用;)

试试这个:

RewriteEngine On

#rewriting rule to set last /
RewriteRule ^view/([0-9]+)$  /view/$1/ [QSA,R] 

#rewriting rule to pass $1 as page that is the first element inside (...)
RewriteRule ^view/([0-9]+)/$ view.php?page=$1
RewriteRule ^/view/([0-9]+)/?$ /view.php?page=$1

“RewriteRule^(视图)/(1)$/$1/$1/[QSA,R]”是“RewriteRule^(视图)/(1)$/$1/$2/[QSA,R]”模块是否启用??你应该试着写一个基本的重写规则来检查它!让我知道,如果它仍然不起作用,我会在我的Web服务器上试用它。你能把你的其他行处理掉吗?另外,请确保在htaccess和Apache配置中正确启用了“重写”。是的,我删除了所有内容,只是使用了此规则。您没有提供很多关于它不起作用时会发生什么的信息。例如,url“/view.php?page=23”是否存在,并且您可以访问它?请在输入时提供URL(应与重写的第一部分匹配)以及正常访问时存在的规则。查看这两个URL可能有助于解决您的问题。