[英].htaccess RewriteRule in subdirectory with PHP GET variables
我在这里有两个有关.htaccess
和PHP GET变量的问题。
基本上,我在一个动漫网站上工作,我希望能够加载site.com/anime/AnimeName
现在,我将其作为site.com/anime/index.php?watch=AnimeName
我能够针对我的用户个人资料执行此操作:
RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.*)$ /profile.php?username=$1
我在/anime/
子目录中使用.htaccess
尝试了类似的方法,但似乎无法正常工作。
我的第二个问题(不是主要问题),我想知道如何为.htaccess文件设置两个变量。
例如:我有几集site.com/anime/?watch=AnimeName&ep=Ep#
基本上,我想知道我怎样才能得到它是这样的: site.com/anime/AnimeName/1
剧集之一, site.com/anime/AnimeName/2
剧集二,等等。
.htaccess
文件中完成此操作的,它适用于用户名和动漫。
RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^u/(.*)$ /profile.php?username=$1
RewriteRule ^a/(.*)$ /anime.php?watch=$1
现在,如何才能做到这一点:第1集的site.com/a/AnimeName/1
?
我已经尝试过了,但是没有用:RewriteRule ^(。*)$ / a /&ep = $ 1两种方式,谢谢。
重写条件仅适用于紧随其后的规则。 因此,您需要复制条件。
RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^u/(.*)$ /profile.php?username=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^a/(.*)$ /anime.php?watch=$1 [L]
但是,如果/a/
和/u/
不是真正的子目录,则不需要这些条件。 对于附加参数,您需要第三个规则:
RewriteEngine On
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^u/(.*)$ /profile.php?username=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^a/([^/]+)$ /anime.php?watch=$1 [L]
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^a/([^/]+)/([0-9]+)$ /anime.php?watch=$1&ep=$2 [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.