我有 2 个问题。
我目前正在使用 wamp 服务器来服务我的网站。
主页是'localhost/prefix/index.php'
问题一:
一个。我想要它,所以我的主页是:
'localhost/prefix/'
代替
'localhost/prefix/index.php
湾。我想这样:
'localhost/prefix/admin/profile.php'
是
'localhost/prefix/admin/profile'
我该怎么做(我用谷歌搜索过,我对语法很困惑)?
问题2
如果我有一个像
'localhost/prefix/games?title=hi'
我怎样才能做到这一点,所以网址是这样的:
'localhost/prefix/games/hi'
提前致谢!!我真的迷路了。
已编辑::///
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [R]
是我到目前为止所拥有的......它什么都不做......但每个人都说它应该!(htaccess 文件正在做某事,因为如果我随机做某事,它会引发错误)。
已编辑::///
这似乎从 url 中删除了 .php 和 index.php :
RewriteEngine On
RewriteBase /prefix/
# remove .php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [R=301]
# remove index
RewriteRule (.*)/index$ $1/ [R=301]
# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]
# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
现在的问题是我的前缀基础不起作用所以它最终会
localhost/something/something
而不是
localhost/prefix/something/something
有任何想法吗?
已编辑::///
如果我指向的页面位于子文件夹中,我已经发现上面的代码实际上可以完美运行。所以例如..这将起作用:
localhost/prefix/admin/dashboard
但是这个(因为文件在根目录中,没有)
localhost/prefix/login.php
它把我重定向到
localhost/login
有任何想法吗?
编辑::///
如果您在使其工作时遇到问题。关闭浏览器并重新启动...我遇到了缓存问题。
上面的代码将删除 .php 并删除 index.php。