PHP中的URL清理

时间:2015-05-30 07:06:34

标签: php

我想做这样的事情:

domain.com/movie.php?mno=abc

我不希望用户看到这一点 而不是这个,我想显示:

domain.com/movie/abc

我在php工作,所以有人可以帮我吗? 我使用了.htaccess并在其中尝试了许多不同的代码,但我没有得到我想要的输出。

AddType text/x-component .htc
RewriteEngine On
RewriteBase /
 # remove .php; use THE_REQUEST to prevent infinite loops
 RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
 RewriteRule (.*)\.php$ $1 [R=301]
 # remove index
 RewriteRule (.*)/index$ $1/ [R=301]
 # remove slash if not directory
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_URI} /$
 RewriteRule (.*)/ $1 [R=301]
 # add .php to access file, but don't redirect
 RewriteCond %{REQUEST_FILENAME}.php -f
 RewriteCond %{REQUEST_URI} !/$
 RewriteRule (.*) $1\.php [L] 
 RewriteRule ^movie/(\d+)*$ ./moviedownload.php?mno=$1 [NC,L]

1 个答案:

答案 0 :(得分:1)

你在那个文件中发生了很多事情。如果他们采取不同的行动,你应该使用一些条件。

至于你在问题中提出的问题,试试这个:

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f

RewriteRule ^movie/(\d+)*$ ./movie.php?mno=$1