Maison > développement back-end > tutoriel php > 关于用.htaccess重写URL的问题

关于用.htaccess重写URL的问题

WBOY
Libérer: 2016-06-06 20:48:10
original
1258 Les gens l'ont consulté

我用的是apache,想用.htaccess实现重写URL的功能,但是遇到了一个很神奇的问题无法解决,先看我的重写规则,我的.htaccess文件:

<code class="lang-apache">RewriteEngine on
RewriteCond $1 !^(index\.php|public)
RewriteRule ^(.*)$ /PFW/index.php?$1 [L]
</code>
Copier après la connexion
Copier après la connexion

应用这个规则,能把大部分的路径访问转发到index.php这个页面处理,例如:

http://localhost/test/ => http://localhost/index.php?/test
http://localhost/example => http://localhost/index.php?/example

但是,唯一一个路径是无法转发到index.php的:

http://localhost/index/ //这个路径它会直接访问,而不会定位到index.php

初步搞清楚是因为目录下有一个index.php文件导致的,因为当我在index.php的同一个目录下创建test.php后:

http://localhost/test/ //这个路径也不会转发了,之前是可以转发的

也就是说,当目录下有一个和路径同名的php文件,我的.htaccess重写规则就不生效了。不知道有没有人遇到过和我一样的问题呢?到现在都没有想到解决方案,求各位指点迷津T^T

这个问题已被关闭,原因:

回复内容:

我用的是apache,想用.htaccess实现重写URL的功能,但是遇到了一个很神奇的问题无法解决,先看我的重写规则,我的.htaccess文件:

<code class="lang-apache">RewriteEngine on
RewriteCond $1 !^(index\.php|public)
RewriteRule ^(.*)$ /PFW/index.php?$1 [L]
</code>
Copier après la connexion
Copier après la connexion

应用这个规则,能把大部分的路径访问转发到index.php这个页面处理,例如:

http://localhost/test/ => http://localhost/index.php?/test
http://localhost/example => http://localhost/index.php?/example

但是,唯一一个路径是无法转发到index.php的:

http://localhost/index/ //这个路径它会直接访问,而不会定位到index.php

初步搞清楚是因为目录下有一个index.php文件导致的,因为当我在index.php的同一个目录下创建test.php后:

http://localhost/test/ //这个路径也不会转发了,之前是可以转发的

也就是说,当目录下有一个和路径同名的php文件,我的.htaccess重写规则就不生效了。不知道有没有人遇到过和我一样的问题呢?到现在都没有想到解决方案,求各位指点迷津T^T

试试这个

<code>RewriteEngine On
#RewriteBase ...
RewriteRule ^(index\.php$|public.*) $1 [QSA,L]
RewriteRule ^(.*)$ index.php?$1 [QSA,L]
</code>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal