htaccess修改URL

时间:2011-05-16 17:29:24

标签: regex .htaccess mod-rewrite

我有网址:

http://example.com/at
and want to get:
http://example.com/at/index.php?at=

http://example.com/at/
and want to get:
http://example.com/at/index.php?at=

http://example.com/at/1asSde
and want to get:
http://example.com/at/index.php?at=1asSde

此外,我正在修改位于'at'

文件夹中的.htaccess

我一直在努力:

RewriteEngine On
RewriteRule (.*)$ index.php?at=$1 [QSA,L]

但是在运行网站脚本后会出现错误。

为了获得正确的结果,我可以尝试什么?

感谢。

4 个答案:

答案 0 :(得分:0)

尝试以下

RewriteEngine On
RewriteRule ^at/(.*)$ at/index.php?at=$1 [QSA,L]

只要at物理位置,您就不需要at/index.php规则。我鼓励你为at创建更好的匹配。例如,如果它只能是字母数字,请将(.*)更改为(\w+)

答案 1 :(得分:0)

RewriteRule ^at/(.*)$ /at/index.php?at=$1 [QSA,L]

答案 2 :(得分:0)

RewriteEngine On
RewriteRule ^at/(.*)$ index.php?at=$1 [QSA,L]

答案 3 :(得分:0)

在重写网址之前,您需要确保您尝试获取的资源不存在:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)$ index.php?at=$1 [QSA, L] #didn't test to make sure this line actually works.