Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
.htaccess url rewrite-remove.php-添加尾部斜杠-并缩短查询字符串_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess url rewrite-remove.php-添加尾部斜杠-并缩短查询字符串

.htaccess url rewrite-remove.php-添加尾部斜杠-并缩短查询字符串,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我最近一直在开发一个CMS,希望删除.php添加一个尾随斜杠并删除查询字符串,例如page.php?page=contact-to-page/contact 到目前为止,我的.htaccess文件如下所示: # This is a .htaccess file # Don't edit it. Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / RewriteCond

我最近一直在开发一个CMS,希望删除.php添加一个尾随斜杠并删除查询字符串,例如page.php?page=contact-to-page/contact

到目前为止,我的.htaccess文件如下所示:

# This is a .htaccess file
# Don't edit it.

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php\?page=([^&\s]+)&?
RewriteRule (.*)\.php$ /$1/%1/? [L,R=301]

RewriteRule ^([^/]+)/([^/]+)/$ $1.php?page=$2 [QSA,L]
除此之外,我不知道如何缩短查询字符串。我环顾四周,找不到任何其他与此相关的问题


事先谢谢你。

我误解了你的意思。我认为您只需要截断查询字符串。这将从查询字符串中提取
页面
参数值,并将其附加到URL<代码>?像以前一样截断查询字符串

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^GET\ /[^?\s]+\.php\?page=([^&\s]+)&?
RewriteRule (.*)\.php$ /$1/%1/? [L,R=301]

RewriteRule ^([^/]+)/([^/]+)/$ $1.php?page=$2 [QSA,L]

谢谢,成功了。我添加了:RewriteRule^page/$page.php——为此,它将page.php加载为page/。谢谢你的帮助。我选择了您的回复作为答案,但是否可以删除?page=并将url保留为page/home?您在浏览器中使用的url是什么
/page.php?page=home
??您在哪个地方添加了规则?排序很重要。我正在使用/page.php?page=home-我想让url/page/home。。。因此url会更短,更容易理解/记住。到目前为止,在您的帮助下,我已经能够删除.php,因此url看起来像/page/?page=home。您的htaccess看起来像我的答案吗?这本该解决的。如果没有,您可以用当前的htaccess代码更新问题或打开一个新问题。这就是我的.htaccess文件现在的样子这是一个.htaccess文件,不要编辑它。选项+FollowSymLinks-多视图#在RewriteBase/RewriteCond%{THE_REQUEST}^GET\/[^?\s]+\.php\?页面=([^&]+)&?重写规则(.*)\.php$/$1/%1/?[L,R=301]RewriteRule^([^/]+)/([^/]+)/$$1.php?page=$2[QSA,L]RewriteRule^ page/$page.php我更新了我的主题。