我在WAMP工作当地项目。
所以这是我的文件夹层次结构:
- Project :
- index.php
- .htaccess
- pages :
- animaux :
- mammiferes.php
- oiseaux.php
- reptiles.php
- infos :
- access.php
- contact.php
- plan.php
- spectacle :
- reserverPlace.php
- spectacle.php
我尝试做的是将商品网址和规则放在例如此网址中:http://localhost/ProjetSyntheseFAC/mammiferes
而不是http://localhost/ProjetSyntheseFAC/pages/animaux/mammiferes.php
。所以我必须从URL中删除文件夹并删除末尾的“.php”。
我找到的所有内容都尝试无效或者让我陷入内部服务器错误。
这是我上次尝试的内容:
RewriteEngine On
RewriteRule ^mammiferes$ /pages/animaux/mammiferes.php
////
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} . [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} /(.+)
RewriteRule !\.[a-z0-4]{2,4}$ /pages/animaux/%1.php [NC,L]
RewriteRule (.*) /pages/animaux/$1 [L]
有人可以帮助我吗?
答案 0 :(得分:0)
RewriteRule ^mammiferes$ /pages/animaux/mammiferes.php
如果您的.htaccess
文件位于/project/
子目录中,而父目录是文档根目录,那么您需要从RewriteRule
取代。例如:
RewriteRule ^mammiferes$ pages/animaux/mammiferes.php [L]
使用斜杠前缀,替换相对于文档根目录。如果没有斜杠前缀,则它与.htaccess
文件所在的位置相关。这假设您没有覆盖此RewriteBase
指令(或将RewriteBase
设置为/Project/
子目录。)
如果稍后添加更多指令,则应包含L
标志。