1

我有一个网站,我正在尝试更改其 URL。所有的 URL 都以http://domain.com/开头?

例如,http://domain.com/?index

我只想删除问号。我不在乎它是否出现在地址栏中,我只希望我的用户能够访问网站上的页面而无需键入问号。

因此,如果用户想要访问http://domain.com/?index,我希望他们能够通过键入http://domain.com/index来访问它。

这可以使用.htaccess 吗?

我已经四处搜索并尝试了几天不同的事情,但仍然无法找到一种方法来完成我正在尝试做的事情。

任何帮助表示赞赏。

谢谢。

4

2 回答 2

0

尝试:

RewriteEngine On

# Match against the request instead of the URI
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?([^&\ ]+)&?([^\ ]*)
RewriteRule ^$ /%1?%2 [L,R=301]

这需要 URI 的 likehttp://example.com/?path/to/file.txt并将浏览器重定向到http://example.com/path/to/file.txt. 浏览器将改为在地址栏中显示该 URL。当然,这是假设如果有人真的访问了那个 URL,那么除了 404 之外还有其他东西可以提供。


编辑

要在内部将非查询字符串 URL 映射到具有查询字符串的 URL:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /?$1 [L]
于 2013-09-03T19:39:46.123 回答
-1

尝试使用:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ /?$1 [NC]

在您的 .htaccess 文件中,

让我知道它是否有效。

于 2013-09-03T17:58:38.277 回答