Php 重写这句话&引用;及=&引用;变成正斜杠/
我想将Php 重写这句话&引用;及=&引用;变成正斜杠/,php,html,.htaccess,mod-rewrite,Php,Html,.htaccess,Mod Rewrite,我想将?和=重写为正斜杠,而不必重写整个URL。我的头脑有很多问题。htaccess,但是否可以简单地将?和=转换为/——在我看来,这是一个更简单的选择。我尝试了各种方法,但它破坏了我的.js和css文件,所以为什么我不能将这两个字符重写为/ 我从所有URL中删除了.php: # -FrontPage- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f R
?
和=
重写为正斜杠,而不必重写整个URL。我的头脑有很多问题。htaccess,但是否可以简单地将?
和=
转换为/
——在我看来,这是一个更简单的选择。我尝试了各种方法,但它破坏了我的.js和css文件,所以为什么我不能将这两个字符重写为/
我从所有URL中删除了.php:
# -FrontPage-
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript x-font/otf x-font/TTF x-font/eot
</ifmodule>
# END GZIP
进入
你在找这么简单的东西吗
RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?=$2
将它放在当前的重写规则
之上,它应该可以正常工作
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?=$2
RewriteRule ^(.*)\.php$ $1.php
谢谢,我遇到的问题是这会破坏.css和.js文件?@SethCodes这只会破坏css/js文件,如果它们与正则表达式匹配(以“search/”开头,然后在到达另一个“/”之前至少有一个字符,最后至少有一个字符不是斜杠)。如果您也不想匹配句点(以防它与js/css冲突),可以将最后一个改为
([^/\.]+)
。这意味着“不是斜杠的字符,也不是重复1到无限次的句点”。RewriteRule^search/([^/]+)/([^/\.]+)$/search.php?$1=$2
使用它可以获取结果,但CSS和JS对我来说仍然很讨厌。是否有其他方法来阻止js/css冲突?图像也会发生冲突。@SethCodes您在RewriteCond%{REQUEST_FILENAME}\.php-f
中所说的内容是“任何请求文件名的文件加上“.php”不存在”,这意味着“script/main.js”将被计算为“script/main.js.php”,既然不存在,请尝试打开script/main.js.php
。请检查我的编辑,看看是否有什么可以用的。谢谢,我最后也使用了
作为有效的解决方案!谢谢你的时间,伙计!
RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?=$2
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^search/([^/]+)/([^/]+)$ /search.php?=$2
RewriteRule ^(.*)\.php$ $1.php