重写id .htaccess

时间:2017-05-09 10:30:58

标签: php .htaccess mod-rewrite url-rewriting

是否有可能使用全局get变量重写url,而不是特定文件?

更改

http://example.com/{something}?id=1

要:

http://example.com/{something}/id/1

或者没有单词id:

http://example.com/{something}/1

这是我到目前为止所得到的:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.phtml
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.phtml
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$

有了这个,我可以删除.phtml扩展名

我希望有一个具体的答案!

1 个答案:

答案 0 :(得分:0)

我假设某事是一个php文件,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/id/([\d]+)$ $1.php?id=$2 [L] #with id in between

RewriteRule ^([\w-]+)/([\d]+)$ $1.php?id=$2 [L] #without id in between

您必须确保规则不存在冲突。