Php Apache2中的URL缩短

Php Apache2中的URL缩短,php,ubuntu,url-rewriting,apache2,Php,Ubuntu,Url Rewriting,Apache2,我有一个网站的主页是/var/www/mysite/index.html 现在我想把www.mysite.com/x2312d转到/var/www/mysite/app/pass.php?id=x2312d 我该怎么做? 我应该在哪里创建.htaccess文件,文件的内容应该是什么?在您的根目录中/var/www .htaccess RewriteEngine On RewriteBase / RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^([^

我有一个网站的主页是
/var/www/mysite/index.html
现在我想把
www.mysite.com/x2312d
转到
/var/www/mysite/app/pass.php?id=x2312d
我该怎么做?
我应该在哪里创建
.htaccess
文件,文件的内容应该是什么?

在您的根目录中
/var/www

.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ /app/pass.php?id=$1 [NC,L]

在您的根目录中
/var/www

.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ /app/pass.php?id=$1 [NC,L]

将.htaccess文件放在/var/www/mysite/app/中。我假设您的docroot是/var/www/mysite/

确保Apache2启用了重写模块

.htaccess:

RewriteEngine On

#allows you to still access static items in this dir
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g)$

#sent it all to pass script
RewriteRule (.*)$ pass.php [L]
我喜欢这种方法,假设pass是某种控制器。rest api的我的控制器从$\u服务器全局变量手动解析/x23123d,但您可以使用不同的重写规则使其位于$\u GET/$\u请求['id']全局变量中

大概是这样的:

RewriteRule ^app/(.+)$ app/pass.php?id=$1 [PT,L,QSA]
好的推荐信:


编辑:差点忘了,别忘了处理后面的斜杠。

将.htaccess文件放在/var/www/mysite/app/中。我假设您的docroot是/var/www/mysite/

确保Apache2启用了重写模块

.htaccess:

RewriteEngine On

#allows you to still access static items in this dir
RewriteCond %{REQUEST_URI} !\.(php|css|js|gif|png|jpe?g)$

#sent it all to pass script
RewriteRule (.*)$ pass.php [L]
我喜欢这种方法,假设pass是某种控制器。rest api的我的控制器从$\u服务器全局变量手动解析/x23123d,但您可以使用不同的重写规则使其位于$\u GET/$\u请求['id']全局变量中

大概是这样的:

RewriteRule ^app/(.+)$ app/pass.php?id=$1 [PT,L,QSA]
好的推荐信:


编辑:差点忘了,别忘了处理后面的斜杠。

嘿,看看这些。他们应该让你开始。现在继续学习。如果你有一个特定的问题,请带着它回来。@martswite这是一个特定的问题,尽管它被问了无数次times@LawrenceCherone我不会说它是具体的,这个问题在重写方面是非常普遍的。也没有证据表明OP已经尝试/调查了什么。现在如果他说,我已经做了1,2,3,但上面所说的都不起作用,那就是具体的。就目前而言,这是一个“给我代码”的问题:-我完全同意!!!给我看看这些。他们应该让你开始。现在继续学习。如果你有一个特定的问题,请带着它回来。@martswite这是一个特定的问题,尽管它被问了无数次times@LawrenceCherone我不会说它是具体的,这个问题在重写方面是非常普遍的。也没有证据表明OP已经尝试/调查了什么。现在如果他说,我已经做了1,2,3,但上面所说的都不起作用,那就是具体的。就目前而言,这是一个“给我代码”的问题:-我完全同意!!!给我一个密码:)嗨,我做了这个,它是404。我的文档根在站点可用/默认为/var/www。这是一个问题吗?np,modrewrite一开始可能很复杂,看看:用外行的术语来说,用rewrite做大多数事情的方法,我做了这个,并且给出了404。我的文档根在站点可用/默认为/var/www。这是一个问题吗?np,modrewrite一开始可能很复杂,看看:用外行的话来说,用rewrite做大多数事情的方法