Mod rewrite 有人能帮我处理URL重写吗

Mod rewrite 有人能帮我处理URL重写吗,mod-rewrite,Mod Rewrite,我是URL重写的初学者,我有一个问题。以下是我的规则的一部分: RewriteRule ^admin/page1/?$ admin/page1.php RewriteRule ^admin/page2/?$ admin/page2.php RewriteRule ^admin/page3/?$ admin/page3.php <more similar lines> 谢谢你的回答:)你可以这样试试- RewriteRule ^(.*)/(.*)/$ admin/$2.php?{QU

我是URL重写的初学者,我有一个问题。以下是我的规则的一部分:

RewriteRule ^admin/page1/?$ admin/page1.php
RewriteRule ^admin/page2/?$ admin/page2.php
RewriteRule ^admin/page3/?$ admin/page3.php
<more similar lines>
谢谢你的回答:)

你可以这样试试-

RewriteRule ^(.*)/(.*)/$ admin/$2.php?{QUERY_STRING}
代码未经测试。

是的,您可以执行以下操作:

RewriteRule ^admin/(.*)/?$ admin/$1.php
但是,这将匹配
admin/
,并将其更改为
admin/.php
,这肯定不是您想要的。因此,使用
+
而不是
*

RewriteRule ^admin/(.+)/?$ admin/$1.php

请注意,您拥有的规则也将匹配
admin/folderX/pageX
。如果不希望出现这种行为,请尝试:

RewriteRule ^admin/([^/]+)/?$ admin/$1.php

这个真不错

<IfModule mod_rewrite.c>                                                                                                                                                                                                                     
    RewriteEngine On                                                                                                                                                                                                                         
    RewriteCond %{REQUEST_FILENAME} !-d                                                                                                                                                                                                      
    RewriteCond %{REQUEST_FILENAME} !-f                                                                                                                                                                                                      
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]                                                                                                                                                                                              
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$index.php?url=$1[QSA,L]
您将它放在.htaccess中,然后如果URL是index.php中的/projects/,那么您将在参数$\u GET['URL']中收到它。。然后我建议您使用explode(“/”,$\u GET['url'])

这是最简单、最基本的URL重写,适用于任何实际情况


如果指定的URL是文件系统中的一个当前文件,它将为您提供该文件,否则它将在GET参数中为您的index.php代码提供URL

谢谢,我认为这类似于Wordpress重写。我想我会坚持这个解决方案。很遗憾,我必须编辑一些代码:)这是在CakePHP htaccess中挖掘出来的。
<IfModule mod_rewrite.c>                                                                                                                                                                                                                     
    RewriteEngine On                                                                                                                                                                                                                         
    RewriteCond %{REQUEST_FILENAME} !-d                                                                                                                                                                                                      
    RewriteCond %{REQUEST_FILENAME} !-f                                                                                                                                                                                                      
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]                                                                                                                                                                                              
</IfModule>