mod_rewrite使用不存在的文件夹作为查询变量

时间:2017-10-12 06:04:25

标签: mod-rewrite

我正在努力让以下工作(想想bitly.com/links):

http://example.com/abc123

需要将网址调整为:

http://example.com/index.php?item_id=abc123

注意:abc123是动态的,可以是任何东西。我一直收到404错误。 Index.php存在且工作正常。

我搜索并尝试了以下内容但没有成功:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)$ index.php?item_id=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?item_id=$1 [L]

1 个答案:

答案 0 :(得分:0)

这肯定会起作用: 将其放在.htaccess

RewriteEngine On

Options -MultiViews

RewriteRule ^index/([\w-]+)/?$ /index.php?item_id=$1 [L,QSA,NC]

# rule to add `.php` extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

现在搜索example.com/abc123