我需要的是将字符串作为URL而不显示PHP文件名。我有文件contact.php页面我试图获取URL为 e.g。
localhost / contact.php
现在我得到的是我需要使用
访问此页面本地主机/接触
对于每个页面,我都应该只按名字导航。
localhost / contact
localhost / help
本地主机/支持
答案 0 :(得分:7)
如果您使用的是apache,则需要使用.htaccess
文件。如果您使用的是IIS,则可以在IIS中进行配置。
查看this。
您的.htaccess
文件需要看起来像这样:
IndexIgnore * # prevent directory listing
Order deny,allow
Allow from *
# ------------------------------------------
# Rewrite so that php extentions are not shown
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
由于文件限制,您不能简单地在Windows中创建.htaccess
文件,因此请打开文本编辑器(Notepad ++或编程IDE)并创建一个名为.htaccess
的新文件。 .
在文件名前面很重要。
修改强>
没有重复的文件名。作为contact.php
的IE contact.js
和htaccess
将无法知道要投放的是哪一个(取决于您的apache)将返回错误页面,否则它将只为其中一个投放。< / p>
正如@AedixRhinedale在下面的评论中所指出的那样:
来自Apache的注释:如果您有权访问httpd主服务器配置文件,则应该完全避免使用.htaccess文件。使用.htaccess文件会降低Apache http服务器的速度。您可以包含在.htaccess文件中的任何指令都可以在目录块中更好地设置,因为它具有相同的效果和更好的性能
答案 1 :(得分:0)
就这么简单。
1)在目录中创建.htaccess文件(如上所述,Windows对此有限制)。
2)只需插入一个即可。
# Turn mod_rewrite on
RewriteEngine On
##(Optional) Redirects http to https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#### hiding .php extensions below:
# (optional) Ignore logic.php .. any page that is needed as mvc with .php exstensions
RewriteCond %{THE_REQUEST} ^/logicpath/logic.php [NC]
RewriteCond %{THE_REQUEST} ^/logicpath/funcs.php [NC]
# (optional end ^)
## To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]
# (optional) Does the same for html paths
## To externally redirect /dir/foo.html to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo.html to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_URI}.php [L]
# (optional end ^)
如前所述,httpd主服务器配置文件要好得多。我不太确定如何解决主要配置文件,但是从小经验中我知道这并不完全相同。
如果其他人知道学习如何修改配置文件的好资源,请提及!