1

我有 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。

4

0 回答 0