【发布时间】:2012-10-21 05:59:34
【问题描述】:
Mod Rewrite noob 所以请原谅我的无知,但我想做的只是一个简单的查询字符串删除
来自:http://yourwebsite.com/x?section=y
收件人:http://yourwebsite.com/x/y
我在 .htaccess 中添加我的 mod 重写规则,如下所示:
ErrorDocument 404 /404
Options +MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{QUERY_STRING} ^section=(.*)$ [NC]
RewriteRule ^(.*)$ /$1/%1? [R=301,L,NE]
问题是在访问时:
http://yourwebsite.com/x?section=y
我的规则写回如下:
http://yourwebsite.com/x.php/y
漂亮网址中的 .php 非常丑陋,我正在努力摆脱它。
我的模组重写规则有什么问题?
【问题讨论】:
-
很可能存在文件
x.php,因此第一个RewriteRule匹配并将请求重写为x.php。就像您配置它一样。那么你想做什么呢? -
x.php存在。可通过http://yourwebsite.com/x访问。我希望像http://yourwebsite.com/x?section=y这样的网址重写为http://yourwebsite.com/x/y。目前,它们被重写为http://yourwebsite.com/x.php/y
标签: mod-rewrite