我正在尝试按以下格式重写网址:
localhost/project/index
然而index.php实际上存在于project/pages/index.php
我通过更改httpd.conf
并添加页面pages/index.php
然后我用HTACCESS重写以删除扩展名,如下所示..
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ pages/$1.php [L]
但是,对于索引以外的任何文件,它都不起作用,因为显然我没有正确重定向。
例如,对于localhost/project/test
我实际上希望它呈现localhost/project/pages/test.php
老实说,我不知道这些htaccess规则是做什么的,所以我无法弄清楚如何改变它。
这是我的项目目录结构:
wamp/www/project/ \____ pages/ \____ index.php \____ test.php \____ js/ \____ img/ \____ .htaccess
关于如何删除扩展名的问题很多,但这个问题不同......
答案 0 :(得分:0)
这样做:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/project/pages/$1\.php -f
RewriteRule ^(.+?)/?$ pages/$1.php [L]